2. Thème « responsive »
développé par le CCSR
Une version mobile
FAcile !
Intégré à la version
communautaire à partir de la
3.10
Préférence opacthemes
CSS + Javascript
3. Usage
mobile
Lenteurs Webservices
Toutes les fonctionnalités de
l’OPAC classique ne
conviennent pas forcément à
un usage mobile
Interface de l’OPAC est
relativement lourde à charger,
la recherche est assez lente
Expérimentation pour mieux
appréhender les webservices
de Koha.
Une web app
Pourquoi ?
5. Successeur de Z39-50. Développé et
maintenu par la Bibliothèque du Congrès.
Version actuelle (version 1.2) date de 2007
SRU
Search/Retrieve via URL
Tourné vers les
technologies du web
(protocole http et format
XML).
SRU permet de faire circuler
des requêtes à l’intérieur des
URLs en utilisant
l’architecture REST
Notamment utilisé pour rechercher et obtenir
les enregistrements correspondant à un
requête formulée selon le langage de
requête CQL « Contextual Query Language »
SRU
http://www.loc.gov/standards/sru/
6. SRU
dans koha
Paramétrage du publicserver avec écoute sur un port libre (par défaut
9998 pour l'exposition des données bibliographiques)Koha-conf.xml
7. SRU
dans koha
Le paramétrage des index se trouve dans le fichier etc/zebradb/
pqf.properties. Il contient le mapping entre les différents types d'index
à considérer et les index zebra, ainsi que les mappings structurels,
relationnels ou troncature...
pqf.properties
8. SRU
Les requêtes
• version : version de SRU
• operation : searchRetrieve, explain ou scan
• recordPacking !: format de sortie (ex : marcxml)
• startRecord !: numéro de la notice de départ
• maximumRecords!: nombre de notices à retourner au
maximum
• query!: la requête (en fonction des index définis dans
le pqf.properties)
Structure Exemple*
• Recherche «bretagne»limitée au titre
• Tri par pertinence
• Type de document est un périodique
• Sauf notices indiquées comme «non visible opac»
• 20 résultats retournés à partir de l’enregistrement 1
* http://catalogue.bu.univ-rennes2.fr:9998/biblios?version=1.2&operation=searchRetrieve&query=dc.title%20all/relevant
%20%22bretagne%22%20and%20%28dc.itemtype=REVUE%29%20not%20dc.suppress=1&startRecord=1&maximumRecords=20
9. Recommendations de la DLF (Digital
Library Federation)
ILS-DI
integrated library systems - discovery interfaces
Set de web services / APIs
pour favoriser, faciliter la
communication / les
échanges de données entre
SIGB et les services de
découverte
Disponibilité en temps réel
des exemplaires. Informations
du compte lecteur.
Transactions, réservations,
prolongations, etc.
Architecture du
type REST
ILS-DI
http://www.diglib.org/architectures/ilsdi/
10. ILS-DI
dans koha
Dans Koha, il est nécessaire d’activer le web service au niveau des
préférences «web services» et de bien penser à déclarer l'ip du serveur
qui devra accéder aux webservices (pour limiter l’accès à ce dernier)
ILS-DI:AuthorizedIPs
11. ILS-DI
Les requêtes possibles
dans koha
Le webservice est exposé au niveau de l’OPAC. La liste des requêtes
possibles et la documentation est visible à l’adresse http://
votre.serveur/cgi-bin/koha/ilsdi.pl
/cgi-bin/koha/ilsdi.pl
GetAvailability
retourne la disponibilité des exemplaires en
fonction d’un identifiant donné
GetRecords
retourne les informations bibliographiques et
les données d’exemplaires (format marxml) en
fonction d’une liste d’identifiants
GetAuthorityRecords
retourne en fonction d’une liste
d’identifiants, les données d’autorités
correspondantes
LookupPatron
retourne l’identifiant d’un lecteur en
fonction de son borrowernumber, son
numéro de carte ou son nom
AuthentificatePatron
authentifie un adhérent en fonction de
son login / mot de passe koha
GetPatronStatus
retrourne les informations du
compte lecteur
HoldTitle /HoldItem /
CancelHold
pour placer ou annuler une
résevation sur un titre ou un
exemplaire
Getservices
retourne la liste des services
disponibles pour un adhérent sur un
exemplaire
RenewLoan
prolonge le prêt sur le compte d'un
adhérent
12. Micro ws
Via le module bilans et statistiques
Possibilité d’utiliser le module «bilans et statistiques» pour rendre public depuis
l’opac des rapports paramétrés au niveau de l’interface pro (format de sortie
JSON)
http://url.de.lopac/cgi-bin/koha/svc/report?id=[id_rapport]
13. RESTful
git://git.biblibre.com/koha-restful.git
à surveiller
Web service développé par BibLibre pour le projet Drupal Opac (pas encore
communautaire)
Architecture de type REST (REpresentational State Transfer)
Format de sortie possible : JSON
Exposé depuis l’opac : http://votre.serveur/cgi-bin/koha/rest.pl
Exemples de requêtes :
GET branches (liste des bibliothèques : libellés et codes)
GET /biblio/[biblio_id]/items (liste des exemplaires pour une notice)
GET user/all (liste des adhérents)
GET user/byid/[patron_id]/issues (prêts en cours d’un lecteur)
GET user/byid/[patron_id]/holds (réservations en cours d’un lecteur)
GET /user/byid/[patron_id]/issues_history (historique de prêt d’un lecteur)
GET /biblio/[biblio_id]/holdable?borrowernumber= [patron_id] (vérifie si un document est
autorisé à la résevation)
14. Framework complémentaire à la
librairie jQuery !
Jquery mobile
Interface utilisateur pensée
pour un usage mobile avec
prise en compte des gestes
et des écrans tactiles
Simplicité d’utilisation.
Technologies HTML5 et CSSPersonnalisable. Un thème roller
permet de créer son propre thème très
facilement.
http://jquerymobile.com/
Permet de créer facilement des applications Web
cross-plateforme (compatibles tous les
navigateurs, responsive design, multiplateforme)
15. L’application
Fonctionnalités
• Recherche simple
• Gestion disponibilité des
exemplaires
• Accès compte lecteur (statut
inscription, messages de
circulation, prêt en cours,
retards
• Recherche avancée
16.
17. M
├── Dictionaries (Libellés et traduction de l’interface)
├── auth_values
│ └── CCODE_en.txt
│ └── ETAT_en.txt
├── en.txt
├── FR.txt
├── scripts
│ └── Plugins
│ └── uTILS
│ ├── unimarc-utils.js (parsing MARXML ≃ DES XSLT KOHA)
│ └── utils.js (fonctions utiles)
│ └── SCRIPT.js (options de config + scripts globaux)
├── STYLES
│ └── IMAGES
│ └── jquery.m_opac.min.css (PEUT être remplacé par un nouveau thème jquery mobile)
│ └── m_opac.css
└── SVC
│ └── config.php (Fichier de configuration, db et langue)
│ └── ilsdi.getAvailability.php
│ └── ilsdi.getPatronInfo.php
│ └── ilsdi.getRecord.php
├── INDEX.PHP (INITIALISATION des pages jquery)
--
├── pqf.properties (Fichier MAPPING INDEX ZEBRA pour SRU) À COPIER DANS $KOHA_ETC/ZEBRADB/
--
├── srugw.pl (Script proxy pour SRU) À Copier dans $KOHA_SRC/opac/MOBILE/
https://github.com/jsicot/R2-Koha-Mobile (branche Master)
Les sources
Sur github