Aller au contenu
Tamil

Prêt et retour en libre-service

Koha propose deux modules de libre-service, qui permettent aux lecteurs de faire eux-mêmes leurs opérations de circulation, sur un ordinateur placé dans la bibliothèque :

  • Le prêt en libre-service (en anglais self-checkout, abrégé SCO), à l'adresse /cgi-bin/koha/sco/sco-main.pl de l'OPAC. Le lecteur s'identifie, emprunte ses documents, renouvelle ses prêts et, si la bibliothèque l'autorise, rend les documents qu'il a en prêt.
  • Le retour en libre-service (en anglais self check-in, abrégé SCI), à l'adresse /cgi-bin/koha/sci/sci-main.pl. Le lecteur ne s'identifie pas : il scanne les documents qu'il rend, quel qu'en soit l'emprunteur.

Ce sont deux pages web : il suffit d'un ordinateur, d'un navigateur et d'une douchette (lecteur de codes à barres). Elles ne demandent aucun matériel spécialisé, ce qui les distingue des automates de prêt.

Synopsis

Prêt (SCO) Retour (SCI)
Préférence d'activation WebBasedSelfCheck SelfCheckInModule
Permission du compte du poste self_checkout_module self_checkin_module
Identification du lecteur Carte, ou identifiant et mot de passe Aucune
Prêt Oui Non
Renouvellement Oui Non
Retour Des documents prêtés au lecteur identifié, si SCOAllowCheckin De tout document en prêt
Consultation du compte Prêts, réservations, frais Non
Reçu Oui (ISSUEQSLIP) Non
Délai d'inactivité SelfCheckTimeout SelfCheckInTimeout
Restriction par adresse IP SelfCheckAllowByIPRanges Aucune
Connexion automatique du poste AutoSelfCheckAllowed Non
Personnalisation SCOUserCSS, SCOUserJS SelfCheckInUserCSS, SelfCheckInUserJS

Le groupe de permissions self_check (Modules prêt en libre-service) réunit les deux permissions.

Pour quelles bibliothèques ?

Les modules web conviennent aux bibliothèques qui veulent offrir le libre-service sans investir dans des automates :

  • Petites et moyennes bibliothèques — Un ordinateur de récupération et une douchette suffisent. Le libre-service soulage la banque de prêt aux heures d'affluence : les lecteurs qui n'ont besoin de rien d'autre n'attendent pas.
  • Bibliothèques scolaires et universitaires — Les élèves et étudiants ont une carte à code à barres et des emprunts simples. Le poste prend en charge les prêts pendant que le personnel se consacre à l'accueil et à l'accompagnement.
  • Bibliothèques équipées de platines RFID — Une platine RFID qui se comporte comme un clavier (elle « tape » le code lu) s'utilise comme une douchette : on pose le document sur la platine au lieu de le scanner.

Les modules web ont leurs limites : ils ne commandent pas l'antivol, ne gèrent pas le paiement des frais et ne trient pas les retours. Une bibliothèque qui a besoin de ces fonctions, ou qui veut ouvrir sans personnel, se tourne plutôt vers des automates SIP2.

Libre-service web ou automate SIP2

Les automates de prêt et de retour (bornes RFID, boîtes de retour avec trieur) sont des appareils de fournisseurs spécialisés. Ils ne passent pas par les pages web de Koha : ils dialoguent avec le serveur SIP2 de Koha, un service distinct de l'OPAC, qui implémente le protocole standard des automates de bibliothèque.

Modules web Automates SIP2
Matériel Ordinateur, navigateur, douchette Automate du fournisseur
Coût Quasi nul Achat ou location, maintenance
Antivol Non géré : à désactiver à la banque de prêt, ou pas d'antivol L'automate désactive l'antivol (bit de sécurité RFID, bande magnétique)
Plusieurs documents à la fois Saisie d'une liste, selon la catégorie du lecteur Pile de documents RFID lue d'un coup
Paiement des frais Non Selon l'automate
Tri des retours Non Selon l'automate (trieur)
Paramétrage côté Koha Préférences système Serveur SIP2 : comptes, institutions, options (Administration > Circulation en libre accès (SIP2) depuis Koha 25.11, fichier SIPconfig.xml avant)
Interface Pages de Koha, personnalisables en CSS et JavaScript Logiciel de l'automate

Les deux approches peuvent coexister : des automates pour le gros des prêts et un poste web d'appoint, par exemple dans une annexe.

Certaines préférences s'appliquent aux deux : AllFinesNeedOverride bloque le prêt au moindre frais impayé, sur le poste web comme par SIP2. D'autres ne concernent que SIP2, comme AllowItemsOnLoanCheckoutSIP.

Articulation des deux modules

Un lecteur peut-il à la fois rendre et emprunter ?

Oui, sur le poste de prêt, si la préférence SCOAllowCheckin est activée. Une fois identifié, le lecteur scanne ses documents : ceux qu'il a en prêt, Koha lui propose de les rendre (ou de les renouveler) ; les autres, Koha les lui prête. Il peut aussi rendre un document depuis la liste de ses prêts.

Mais il ne peut rendre que ses propres prêts. Un document emprunté par un autre lecteur (un enfant, un conjoint, un collègue) est refusé : L'exemplaire n'est pas rendu : veuillez vous adresser au personnel de la bibliothèque.

Le poste de retour répond à ce cas. Le lecteur ne s'identifie pas et rend n'importe quel document en prêt. C'est aussi plus rapide : on scanne une pile de documents, sans carte ni mot de passe.

En résumé :

  • le lecteur qui rend ses propres documents et en emprunte d'autres peut tout faire sur le poste de prêt en libre-service ;
  • le lecteur qui ne fait que rendre, ou qui rend pour d'autres, utilise le poste de retour en libre-service.

Le renouvellement

Le renouvellement n'existe que sur le poste de prêt en libre-service. Le lecteur renouvelle un document de deux façons : en le scannant (Koha voit qu'il l'a déjà en prêt et propose Renouveler l'exemplaire) ou avec le bouton de la liste de ses prêts. Les règles de circulation s'appliquent : nombre de renouvellements, document réservé par un autre lecteur, etc.

Le lecteur peut aussi renouveler ses prêts depuis son compte à l'OPAC, de chez lui. Le renouvellement au poste de prêt en libre-service a une particularité : Koha l'enregistre comme un renouvellement vu, comme à la banque de prêt, alors qu'un renouvellement fait à l'OPAC est non vu. Avec la préférence UnseenRenewals et une limite de renouvellements non vus dans les règles de circulation, une bibliothèque peut obliger les lecteurs à présenter le document de temps en temps : le poste de prêt en libre-service le permet sans passer par la banque de prêt.

Un lecteur dont les frais dépassent FineNoRenewals ne peut pas renouveler à l'OPAC. Sur le poste de prêt en libre-service, c'est la préférence FineNoRenewalsBlockSelfCheckRenew qui décide : bloquer ou autoriser.

Faut-il un poste dédié ?

Oui. Le poste est ouvert avec un compte propre, le compte du poste (voir plus bas) et reste connecté toute la journée à la disposition du public. On ne peut pas l'utiliser en même temps pour le travail du personnel. Il est conseillé de le verrouiller en mode kiosque, pour que les lecteurs ne puissent pas en sortir.

Un poste par opération ?

Ce n'est pas obligatoire. Trois organisations sont possibles :

  1. Un poste de prêt en libre-service seul, avec SCOAllowCheckin activée : chaque lecteur rend et emprunte ses propres documents. C'est la solution la plus simple.
  2. Deux postes, l'un de prêt, l'autre de retour en libre-service : le poste de retour en libre-service, près de l'entrée ou d'une boîte de retour, accueille les lecteurs qui ne font que rendre. Le poste de prêt en libre-service reste disponible pour les emprunts.
  3. Un seul poste pour les deux modules : le lecteur rend d'abord ses documents sur la page de retour, puis passe à la page de prêt. C'est le fonctionnement prévu à l'origine du module de retour. Il demande un peu de paramétrage :
    • le compte du poste a les deux permissions, self_checkout_module et self_checkin_module ;
    • le poste est connecté depuis la page de retour : une session ouverte depuis la page de prêt est réservée au prêt et se ferme si l'on va sur la page de retour. Pour la même raison, la connexion automatique, qui ne fonctionne que sur la page de prêt, ne convient pas ;
    • on ajoute un lien de chaque page vers l'autre (voir l'exemple de JavaScript plus bas).

Après un retour en libre-service

Qu'il soit fait sur le poste de prêt en libre-service ou sur le poste de retour en libre-service, un retour est enregistré comme à la banque de prêt (calcul des pénalités de retard, remboursement d'un document perdu, etc.), dans le site du compte du poste. Mais deux traitements ne sont pas faits :

  • Réservations — Si le document est réservé, Koha ne le met pas de côté pour l'usager qui l'a réservé et ne le prévient pas : la réservation reste en attente d'un exemplaire.
  • Transferts — Si le document appartient à un autre site, Koha ne crée le transfert que si la préférence AutomaticItemReturn est activée. Sinon, le document reste dans le site du poste.

Le lecteur, lui, ne voit rien de tout cela. Les documents rendus en libre-service doivent donc être déposés dans un bac, que le personnel traite régulièrement : il repasse chaque document dans Circulation > Retour. Koha indique que le document n'est pas en prêt, mais signale la réservation ou le transfert, comme pour tout retour.

Traitement d'un document rendu en libre-service

Le compte du poste

Chaque poste est connecté à Koha avec un adhérent dédié, par exemple Poste de libre-service — Médiathèque centrale, créé dans une catégorie réservée au personnel ou aux comptes techniques. Il reçoit la permission self_checkout_module, self_checkin_module ou les deux. Aucune autre : il n'a pas besoin d'accéder à l'interface professionnelle.

Son site de rattachement est important :

  • les prêts et les retours sont enregistrés comme faits dans ce site : ce sont les règles de circulation de ce site qui s'appliquent si la préférence CircControl se base sur le site où a lieu le prêt ;
  • un retour est refusé si le document ne peut pas être rendu dans ce site (préférence AllowReturnToBranch) ;
  • le reçu imprimé est le modèle de notification de ce site.

Dans un réseau de plusieurs sites, on crée donc un compte par site : voir l'exemple des abbayes.

Une session ouverte avec ce compte est confinée aux pages du libre-service : si quelqu'un quitte la page pour aller ailleurs dans l'OPAC (recherche, compte lecteur...), Koha ferme la session. Il faut alors reconnecter le poste.

Connexion manuelle — En ouvrant la page du prêt ou du retour, on obtient la page de connexion de l'OPAC. Un bibliothécaire y saisit l'identifiant et le mot de passe du compte du poste, une fois, à l'ouverture du poste.

Connexion automatique — Pour le prêt seulement, Koha peut connecter le compte du poste dès qu'on ouvre la page, avec les préférences AutoSelfCheckAllowed (Autoriser), AutoSelfCheckID (l'identifiant du compte) et AutoSelfCheckPass (son mot de passe). Un poste redémarré se reconnecte seul. Mais :

  • un seul compte peut être indiqué : tous les postes du réseau prêtent au nom du même site, sauf à donner une adresse d'OPAC à chaque site (voir l'exemple des abbayes) ;
  • n'importe qui, depuis n'importe où, peut ouvrir une session du poste en allant sur la page : il faut alors restreindre l'accès par adresse IP ;
  • le compte indiqué ne peut plus se connecter à l'OPAC.

Sur le poste de prêt en libre-service, deux identifications se succèdent : le compte du poste, une fois pour toutes, puis chaque lecteur à son tour. Koha mémorise le lecteur dans un cookie du navigateur, effacé quand il termine sa session ou quand le délai d'inactivité est atteint :

Session de prêt en libre-service

Paramétrage du prêt

Les préférences se trouvent dans Administration > Préférences système > Circulation > Module de prêt en libre service, sauf celles signalées comme étant dans Politique de prêt.

Activation — WebBasedSelfCheck. Tant qu'elle est désactivée, la page du prêt renvoie vers l'accueil de l'OPAC.

Identification des lecteurs — SelfCheckoutByLogin :

  • identifiant et mot de passe (par défaut) : les mêmes que pour l'OPAC ;
  • numéro de carte : le lecteur scanne sa carte, sans mot de passe.

Le numéro de carte est plus rapide, mais il suffit alors de connaître le numéro de carte de quelqu'un pour emprunter en son nom ou voir ses prêts. Si la page est accessible hors de la bibliothèque, un tiers peut essayer des numéros au hasard : il faut impérativement restreindre l'accès par adresse IP. Le compte adhérent anonyme (AnonymousPatron) ne peut pas s'identifier.

Restriction par adresse IP — SelfCheckAllowByIPRanges limite le prêt en libre-service à certaines adresses ou plages, séparées par des espaces :

192.168.1.20 192.168.1.21 10.12.0.0/16

Depuis une autre adresse, la page renvoie vers l'accueil de l'OPAC. Laissée vide, la préférence n'impose aucune restriction. Les adresses sont celles que voit le serveur Koha : si Koha est hébergé à l'extérieur, c'est en général l'adresse publique de la bibliothèque, partagée par tous ses ordinateurs. Cette préférence ne s'applique pas au module de retour.

Opérations :

Préférence Effet
SCOAllowCheckin Autorise le retour, des seuls documents prêtés au lecteur identifié.
SCOBatchCheckoutsValidCategories Catégories de lecteurs qui peuvent saisir plusieurs codes à barres d'un coup, un par ligne.
AllowItemsOnHoldCheckoutSCO Politique de prêt. Prêt d'un document réservé par un autre lecteur : Ne pas autoriser, Autoriser les réservations en cours uniquement (refusé si le document attend déjà l'usager qui l'a réservé, ou est en transit pour lui) ou Autoriser les réservations en cours et en attente.
FineNoRenewalsBlockSelfCheckRenew Politique de prêt. Bloque, ou non, le renouvellement quand le lecteur doit plus que FineNoRenewals.
AllFinesNeedOverride Politique de prêt. Bloque le prêt au moindre frais impayé.

Affichage :

Préférence Effet
SCOLoadCheckoutsByDefault Affiche d'emblée la liste des prêts du lecteur. Sinon, un bouton l'affiche à la demande.
ShowPatronImageInWebBasedSelfCheck Affiche la photo du lecteur, s'il en a une.
SelfCheckTimeout Délai d'inactivité, en secondes (120 par défaut), au bout duquel la session du lecteur se ferme.
SelfCheckReceiptPrompt Propose d'imprimer un reçu quand le lecteur termine sa session.

Le reçu est le modèle de notification ISSUEQSLIP, qui liste les prêts du jour, dans la version du site du compte du poste. On le modifie dans Outils > Notifications et reçus.

Paramétrage du retour

Les préférences se trouvent dans Administration > Préférences système > Circulation > Module d'auto-retour :

  • SelfCheckInModule active le module. Tant qu'elle est désactivée, la page du retour renvoie une erreur « page introuvable » ;
  • SelfCheckInTimeout règle le délai d'inactivité (120 secondes par défaut) au bout duquel l'écran revient à l'accueil, en abandonnant la liste en cours.

Les règles de retour habituelles s'appliquent : AllowReturnToBranch, BlockReturnOfWithdrawnItems, BlockReturnOfLostItems, etc.

Personnalisation

Les pages du libre-service sont des pages de l'OPAC simplifiées, sans barre de recherche ni menu. On les adapte avec :

  • CSS et JavaScript — SCOUserCSS et SCOUserJS pour le prêt, SelfCheckInUserCSS et SelfCheckInUserJS pour le retour. Les préférences OPACUserCSS et OPACUserJS de l'OPAC et la CSS propre au site du compte du poste s'y appliquent aussi.
  • Contenus HTML — Dans Outils > Contenus HTML personnalisés, les emplacements SCOMainUserBlock (sous le formulaire de prêt), SelfCheckHelpMessage (en tête de la page d'aide du prêt), SelfCheckInMainUserBlock (sous le formulaire de retour) et opacheader (en-tête commun à tout l'OPAC). Voir Personnaliser l'OPAC.
  • Alertes sonores — Si la préférence AudioAlerts est activée, les sons définis dans Administration > Alertes sonores sont joués aussi sur le poste de prêt en libre-service : un son pour un prêt réussi, un autre pour un refus, par exemple.

Exemple : CSS — Ce code, placé dans SCOUserCSS, agrandit le champ de saisie et masque l'onglet des frais :

/* Champs de saisie plus visibles, pour un écran éloigné */
#sco_main #barcode,
#sco_main #patronid {
    font-size: 2rem;
    height: auto;
}
/* Onglet Frais masqué : les frais se règlent à l'accueil */
#sco_main .nav-item:has(a[href="#account_panel"]) {
    display: none;
}

Exemple : un poste pour les deux modules — Ces deux codes ajoutent un bouton qui mène d'une page à l'autre. Sur la page de prêt, le bouton ne s'affiche que sur l'écran d'identification : un lecteur identifié qui quitterait la page sans cliquer sur Terminer resterait connecté : le lecteur suivant se retrouverait sur son compte.

Dans SCOUserJS :

$(document).ready(function () {
    // Écran d'identification seulement : pas de lecteur identifié
    if ($("#mainform").length) {
        $("#mainform").after(
            '<p><a class="btn btn-secondary btn-lg" ' +
            'href="/cgi-bin/koha/sci/sci-main.pl">' +
            "Rendre des documents sans s'identifier</a></p>"
        );
    }
});

Dans SelfCheckInUserJS :

$(document).ready(function () {
    // Sur l'écran d'accueil et après validation des retours
    $("#new_checkins, #checkins").append(
        '<p><a class="btn btn-secondary btn-lg" ' +
        'href="/cgi-bin/koha/sco/sco-main.pl">' +
        "Emprunter des documents</a></p>"
    );
});

Rappel : pour passer d'une page à l'autre sans perdre la session, le compte du poste a les deux permissions et le poste est connecté depuis la page de retour.

Installer un poste

  1. Créer le compte du poste et lui donner la ou les permissions.
  2. Paramétrer les préférences, en particulier WebBasedSelfCheck, SelfCheckInModule et SelfCheckAllowByIPRanges.
  3. Configurer la douchette pour qu'elle envoie la touche Entrée après chaque code lu : la saisie est validée sans toucher le clavier.
  4. Ouvrir le navigateur sur la page du prêt ou du retour, de préférence en mode kiosque (voir plus bas).
  5. Connecter le compte du poste, si la connexion n'est pas automatique.
  6. Pour le reçu, installer une imprimante de tickets et régler le navigateur pour qu'il imprime sans boîte de dialogue (option --kiosk-printing de Chrome, par exemple).
  7. Prévoir un bac pour les documents rendus et l'organisation de son traitement par le personnel.

Le mode kiosque — C'est un mode de lancement du navigateur prévu pour les postes publics. Le navigateur occupe tout l'écran, sans barre d'adresse, sans onglets, sans menus ni boutons : le lecteur ne voit que la page du libre-service. Il ne peut pas, en temps normal, aller sur un autre site, ouvrir les réglages du navigateur ou fermer la fenêtre. Les principaux navigateurs le proposent :

  • Google Chrome (et Chromium) — On lance Chrome avec l'option --kiosk, suivie de l'adresse de la page. L'option --kiosk-printing imprime directement sur l'imprimante par défaut, sans boîte de dialogue : c'est elle qui permet d'imprimer le reçu d'un seul clic. L'option --user-data-dir donne au poste un profil de navigateur à part, sans extensions ni historique d'un autre utilisateur. Sous Windows, on crée un fichier de commandes, kiosque.bat par exemple, placé dans le dossier de démarrage pour que le poste s'ouvre seul. Le caractère ^ en fin de ligne indique que la commande continue à la ligne suivante :

    "C:\Program Files\Google\Chrome\Application\chrome.exe" ^
      --kiosk --kiosk-printing --user-data-dir=C:\kiosque ^
      https://catalogue.exemple.fr/cgi-bin/koha/sco/sco-main.pl

    Sous Linux, par exemple sur un Raspberry Pi qui démarre directement sur le libre-service, c'est le caractère \ qui prolonge la commande :

    chromium --kiosk --kiosk-printing \
      https://catalogue.exemple.fr/cgi-bin/koha/sco/sco-main.pl
  • Mozilla Firefox — On lance Firefox avec l'option --kiosk, suivie de l'adresse. Pour imprimer sans boîte de dialogue, on passe à true le paramètre print.always_print_silent dans la page about:config.

  • Microsoft Edge — Edge accepte la même option --kiosk, complétée par --edge-kiosk-type=fullscreen.

Le système d'exploitation peut aller plus loin. Windows propose un mode accès attribué (Assigned Access), qui réserve une session Windows à une seule application. ChromeOS a son propre mode kiosque pour les Chromebook gérés.

Le mode kiosque n'est pas une protection absolue : avec un clavier, on peut fermer le navigateur (Alt+F4 sous Windows et Linux, Cmd+Q sous macOS). C'est d'ailleurs ainsi que le personnel en sort. Si les lecteurs s'identifient par leur numéro de carte, la douchette suffit : le clavier peut être rangé hors de portée. Dans tous les cas, la session du compte du poste reste confinée au libre-service : un lecteur qui sortirait de la page ne pourrait pas naviguer dans l'OPAC sous l'identité du poste.

Poste de prêt en libre-service

Identification — Le lecteur scanne sa carte ou saisit son identifiant et son mot de passe. L'écran affiche Connecté en tant que, suivi de son nom, ses éventuels messages (note OPAC, messages de la bibliothèque) et trois onglets : Prêts, Réservations et Frais.

Prêt — Le lecteur scanne un document. Koha affiche Exemplaire prêté et le document s'ajoute à la liste des prêts. Si le prêt est impossible, Koha affiche le motif, puis Merci de voir avec un membre du personnel de la bibliothèque.

Renouvellement et retour — Si le lecteur scanne un document qu'il a déjà en prêt, Koha affiche Ce document est déjà en prêt sur votre compte et propose Renouveler l'exemplaire et, si SCOAllowCheckin est activée, Retourner l'exemplaire. Les mêmes boutons figurent dans la liste des prêts.

Fin de session — Le bouton Terminer ferme la session du lecteur. Si SelfCheckReceiptPrompt est activée, une fenêtre propose Imprimer le reçu et terminer la session ou Terminer la session. L'écran revient à l'identification. Un lecteur qui part sans cliquer sur Terminer est déconnecté au bout du délai SelfCheckTimeout, sans reçu. Le délai repart de zéro à chaque document scanné.

Code de fin de session — Scanné dans le champ du code à barres, le code __KOHA_NEW_CIRC__ termine la session, sans proposer de reçu. On peut l'imprimer en code à barres et le coller près du poste.

Poste de retour en libre-service

  1. Le lecteur scanne ses documents un à un. Leurs codes à barres s'ajoutent à une liste, sans que rien ne soit encore enregistré.
  2. Il clique sur Retourner. Koha enregistre les retours et affiche, pour chaque code à barres, Rendu ou Non retourné, avec le motif.
  3. Terminer ramène à l'écran d'accueil, prêt pour le lecteur suivant. À tout moment, Annuler efface la liste.

Un retour est refusé, avec invitation à s'adresser au personnel, dans les cas suivants : code à barres inconnu, document qui n'est pas en prêt, document qui ne peut pas être rendu dans ce site, document retiré dont le retour est bloqué, document composé de plusieurs éléments (voir plus bas).

Prêts refusés

Le poste de prêt en libre-service applique les mêmes contrôles que la banque de prêt. Mais un bibliothécaire peut confirmer un prêt malgré un avertissement, alors que le poste de prêt en libre-service ne demande jamais de confirmation au lecteur : tout avertissement devient un refus. Le prêt est notamment refusé dans les cas suivants :

  • carte expirée, perdue, adresse invalide ou adhérent suspendu ;
  • frais impayés au-delà de noissuescharge (ou au moindre frais avec AllFinesNeedOverride) ;
  • nombre maximum de prêts atteint ;
  • document exclu du prêt, retiré, perdu ou inconnu ;
  • document en prêt à un autre lecteur ;
  • document réservé par un autre lecteur, selon AllowItemsOnHoldCheckoutSCO ;
  • document qui ne peut pas être prêté dans le site du compte du poste ;
  • document composé de plusieurs éléments (champ items.materials, matériel d'accompagnement), si la préférence CircConfirmItemParts est activée : le personnel doit vérifier que rien ne manque. Pour la même raison, ces documents ne peuvent pas être rendus en libre-service.

Exemples d'utilisation

Bibliothèque d'entreprise

Le centre de documentation d'une entreprise est tenu par une documentaliste à mi-temps. Les salariés, qui travaillent en horaires décalés, viennent surtout quand elle n'est pas là. La salle reste ouverte aux heures d'ouverture du bâtiment, sans antivol : on fait confiance aux salariés.

  • Un seul poste de prêt en libre-service, avec SCOAllowCheckin : chaque salarié rend et emprunte ses propres documents. Un poste de retour en libre-service serait superflu.
  • Identification par numéro de carte : le numéro de carte des salariés est leur matricule, importé du fichier du personnel et imprimé en code à barres sur leur badge. SelfCheckAllowByIPRanges contient la seule adresse du poste : un salarié ne peut pas emprunter au nom d'un collègue depuis son bureau.
  • Connexion automatique du compte du poste : il n'y a qu'un site et personne n'est là le matin pour connecter le poste.
  • Pas de reçu imprimé : les salariés reçoivent par courriel un avis de prêt (notification CHECKOUT), selon leurs préférences de messagerie.
  • Réservations : AllowItemsOnHoldCheckoutSCO est sur Ne pas autoriser : un document réservé ne peut être emprunté que par le collègue qui l'a réservé. Comme un retour en libre-service ne met pas de côté les documents réservés, la documentaliste repasse à la banque de prêt, à son arrivée, les documents rendus en son absence.

Bibliothèque d'une école spécialisée

La bibliothèque d'un conservatoire de musique a une seule bibliothécaire. Le soir, l'accueil est assuré par des étudiants employés quelques heures par semaine, qui ne sont pas formés à la circulation.

  • Un poste de prêt en libre-service et un poste de retour en libre-service. Le poste de retour en libre-service, à l'entrée, accueille les étudiants qui rendent les partitions entre deux cours. Le poste de prêt en libre-service est près des rayonnages.
  • Identification par identifiant et mot de passe : Koha est relié à l'annuaire LDAP de l'établissement, les étudiants utilisent les identifiants de leur environnement numérique de travail.
  • Prêt par lot pour la catégorie des enseignants (SCOBatchCheckoutsValidCategories), qui empruntent les partitions d'un ensemble pour toute une classe.
  • Partitions avec matériel : une partition d'orchestre se compose d'un conducteur et de parties séparées. La préférence CircConfirmItemParts et le champ matériel d'accompagnement de l'exemplaire empêchent leur prêt et leur retour en libre-service : la bibliothécaire vérifie que toutes les parties sont là.
  • Bac de retour traité chaque matin par la bibliothécaire : elle repasse les documents à la banque de prêt, pour mettre de côté les documents réservés.

Congrégation religieuse à plusieurs abbayes

Les abbayes d'une congrégation religieuse partagent un catalogue Koha commun : chaque abbaye est un site Koha. Dans chacune, la bibliothèque sert aux membres de la communauté et aux hôtes de passage, chercheurs ou retraitants. Un membre de la communauté s'en occupe, à côté d'autres charges. La bibliothèque est accessible à toute heure aux membres de la communauté. Les moines sont rattachés à leur abbaye, mais séjournent dans les autres : ils y empruntent et y rendent des livres.

Dans chaque abbaye

  • Un poste de prêt en libre-service et un poste de retour en libre-service : un livre passe souvent de main en main dans la communauté. Le poste de retour en libre-service permet de rendre un livre emprunté par un autre.
  • Interface adaptée : un code SCOUserCSS agrandit les caractères pour les lecteurs âgés (voir l'exemple plus haut). Un bloc SCOMainUserBlock rappelle en quelques lignes la marche à suivre.
  • Délai d'inactivité court (SelfCheckTimeout) : le poste reste sans surveillance, la session d'un lecteur ne doit pas rester ouverte.
  • Pas de reçu : SelfCheckReceiptPrompt est désactivée.

Un compte de poste par abbaye

Chaque abbaye a son compte de poste, rattaché à son site, avec les deux permissions self_checkout_module et self_checkin_module. Tout en découle :

  • les prêts et les retours sont enregistrés dans l'abbaye où se trouve le poste ;
  • les statistiques de circulation sont ventilées par abbaye.

Chaque abbaye peut aussi donner à ses postes sa propre présentation. Sur un poste, Koha applique en effet la CSS et les contenus HTML du site du compte du poste :

  • la CSS saisie dans le champ CSS spécifique pour l'OPAC de la fiche du site (Administration > Bibliothèques) ;
  • les contenus HTML (SCOMainUserBlock, SelfCheckInMainUserBlock...) créés pour ce site dans Outils > Contenus HTML personnalisés.

Chaque abbaye affiche ainsi ses propres consignes, sans toucher à celles des autres.

Connecter les postes

La connexion automatique ne connaît qu'un compte, celui de la préférence AutoSelfCheckID, commun à toute l'installation. Deux solutions :

  • Connexion manuelle — Le bibliothécaire de chaque abbaye connecte le poste à l'ouverture. C'est la solution la plus simple.

  • Une adresse d'OPAC par site — Koha permet de remplacer la valeur d'une préférence système pour une adresse donnée de l'OPAC, dans la configuration d'Apache. On donne à chaque abbaye sa propre adresse, avec son compte de connexion automatique. C'est un travail d'administrateur système. Avec Plack, les valeurs passent par l'en-tête X-Koha-SetEnv :

    RequestHeader add X-Koha-SetEnv \
        "OVERRIDE_SYSPREF_AutoSelfCheckID poste-abbaye-a"
    RequestHeader add X-Koha-SetEnv \
        "OVERRIDE_SYSPREF_AutoSelfCheckPass ..."
    RequestHeader add X-Koha-SetEnv "OPAC_BRANCH_DEFAULT ABBA"

    Le mot de passe du compte du poste figure alors en clair dans la configuration d'Apache.

La préférence SelfCheckAllowByIPRanges liste l'adresse publique de chaque abbaye. Elle peut aussi être remplacée, adresse d'OPAC par adresse d'OPAC, de la même façon.

Quelles règles de circulation ?

La préférence CircControl détermine le site dont les règles de circulation et le calendrier s'appliquent à un prêt :

  • la bibliothèque à laquelle le bibliothécaire est connecté : en libre-service, c'est le site du compte du poste. Chaque abbaye fixe ses règles, y compris pour un moine de passage. C'est le choix le plus naturel ;
  • la bibliothèque de l'adhérent : un moine emporte ses droits avec lui, quelle que soit l'abbaye où il emprunte ;
  • la bibliothèque de l'exemplaire : chaque abbaye garde la main sur ses livres, où qu'ils soient prêtés.

Rendre dans une autre abbaye

Un moine emprunte un livre à l'abbaye B, puis le rend à l'abbaye A, sur son poste de retour en libre-service. La préférence AllowReturnToBranch doit être réglée sur à n'importe quelle bibliothèque : sinon, le poste refuse le retour et renvoie le moine vers le personnel.

Reste à décider où va le livre. C'est la Politique de retour des règles de circulation :

  • L'exemplaire retourne à son site de rattachement : le livre doit revenir à l'abbaye B. En libre-service, le transfert n'est créé que si la préférence AutomaticItemReturn est sur Transférer. Il faut aussi organiser l'acheminement physique : envoi postal, voyage d'un membre de la communauté...
  • Exemplaires flottants : le livre reste à l'abbaye A, où il a été rendu, et le catalogue indique où il se trouve. Pour une communauté où les livres voyagent avec les personnes, c'est souvent le plus simple.
  • Exemplaire flottant par groupe de bibliothèques : on regroupe les abbayes, par province ou par pays, dans Administration > Groupes de bibliothèques, en cochant Est un groupe local flottant. Le livre flotte entre les abbayes de son groupe et retourne à son abbaye s'il est rendu hors du groupe.

Réservations entre abbayes

Un moine de l'abbaye A réserve un livre de l'abbaye B, avec retrait à A. L'abbaye B l'expédie. À son arrivée, l'abbaye A doit le passer en retour à la banque de prêt : c'est ce qui le met de côté et prévient le moine. Un retour en libre-service ne le ferait pas (voir Après un retour en libre-service). Dans un réseau, le traitement régulier du bac de retour de chaque abbaye est donc indispensable : sans lui, les réservations entre abbayes restent bloquées.

Adhérents

  • Chaque membre est rattaché à son abbaye. Lors d'une mutation, on change son site de rattachement : son compte et son historique le suivent.
  • Les hôtes forment une catégorie à part. Les règles de circulation limitent leurs prêts, ou les réservent à certains types de documents.
  • Le fonds ancien est exclu du prêt : le poste de prêt en libre-service le refuse.
  • La préférence IndependentBranches, qui cloisonne les sites, reste désactivée : la congrégation partage son catalogue et ses lecteurs.

Compter les prêts en libre-service

Avec la préférence RecordStaffUserOnCheckout sur enregistrer, chaque prêt mémorise le compte qui l'a fait (issuer_id). Sur un poste en libre-service, c'est le compte du poste. Si les comptes de poste sont dans une catégorie dédiée, POSTE par exemple, un rapport SQL compte, site par site, les prêts faits en libre-service et ceux faits à la banque de prêt :

SELECT br.branchname AS site,
       SUM(p.categorycode <=> 'POSTE') AS libre_service,
       SUM(NOT p.categorycode <=> 'POSTE') AS banque_de_pret
FROM (
    -- Prêts en cours et prêts terminés
    SELECT branchcode, issuer_id, issuedate FROM issues
    UNION ALL
    SELECT branchcode, issuer_id, issuedate FROM old_issues
) AS prets
JOIN branches br USING (branchcode)
LEFT JOIN borrowers p ON p.borrowernumber = prets.issuer_id
WHERE prets.issuedate >= <<Du|date>>
  AND prets.issuedate < <<Au|date>> + INTERVAL 1 DAY
GROUP BY br.branchname
ORDER BY br.branchname

Les prêts faits avant l'activation de RecordStaffUserOnCheckout n'ont pas de compte enregistré : ils sont comptés à la banque de prêt. Les renouvellements ne sont pas comptés.

Platines RFID sans automate

Des bibliothèques équipées de platines RFID, sans automate, les utilisent avec le poste de prêt en libre-service de Koha : le lecteur pose un document sur la platine, qui envoie son code à barres au navigateur. Elles ont demandé à pouvoir poser plusieurs documents à la fois, comme à la banque de prêt : c'est l'origine du prêt par lot, introduit dans Koha 24.05 avec la préférence SCOBatchCheckoutsValidCategories.