SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
une application
mobile
avec les
webservices koha
Julien Sicot
Symposium Koha
MAi 2013
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
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 ?
Technologies
Utilisées
SRU ILS-DI
Jquery mobile
+
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/
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
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
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
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/
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
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
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]
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)
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)
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
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

Mais conteúdo relacionado

Semelhante a Une application mobile avec les webservices Koha

code4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABEScode4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABESABES
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 
Quand Koha rencontre Primo - « Une API comédie »
Quand Koha rencontre Primo - « Une API comédie »Quand Koha rencontre Primo - « Une API comédie »
Quand Koha rencontre Primo - « Une API comédie »Julien Sicot
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Architecture de services web de type ressource
Architecture de services web de type ressourceArchitecture de services web de type ressource
Architecture de services web de type ressourceAntoine Pouch
 
Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented ArchitectureDNG Consulting
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureNicolas Georgeault
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfngombeemmanuel
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
 
Publication des données publiques (Open Data), WCF Data Services, OData
Publication des données publiques (Open Data), WCF Data Services, ODataPublication des données publiques (Open Data), WCF Data Services, OData
Publication des données publiques (Open Data), WCF Data Services, ODataMicrosoft Ideas
 
Premiers pas dans l'univers .NET
Premiers pas dans l'univers .NETPremiers pas dans l'univers .NET
Premiers pas dans l'univers .NETBantu Hub
 
ACube : De la solution à l'industrialisation
ACube : De la solution à l'industrialisationACube : De la solution à l'industrialisation
ACube : De la solution à l'industrialisationpeguet
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_servicesCamus LANMADOUCELO
 
Webinar "La plateforme Alfresco"
Webinar "La plateforme Alfresco"Webinar "La plateforme Alfresco"
Webinar "La plateforme Alfresco"Michael Harlaut
 

Semelhante a Une application mobile avec les webservices Koha (20)

code4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABEScode4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABES
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
Quand Koha rencontre Primo - « Une API comédie »
Quand Koha rencontre Primo - « Une API comédie »Quand Koha rencontre Primo - « Une API comédie »
Quand Koha rencontre Primo - « Une API comédie »
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
 
Architecture de services web de type ressource
Architecture de services web de type ressourceArchitecture de services web de type ressource
Architecture de services web de type ressource
 
Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented Architecture
 
Sudoc plus - Technique
Sudoc plus - TechniqueSudoc plus - Technique
Sudoc plus - Technique
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdf
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
Publication des données publiques (Open Data), WCF Data Services, OData
Publication des données publiques (Open Data), WCF Data Services, ODataPublication des données publiques (Open Data), WCF Data Services, OData
Publication des données publiques (Open Data), WCF Data Services, OData
 
Premiers pas dans l'univers .NET
Premiers pas dans l'univers .NETPremiers pas dans l'univers .NET
Premiers pas dans l'univers .NET
 
ACube : De la solution à l'industrialisation
ACube : De la solution à l'industrialisationACube : De la solution à l'industrialisation
ACube : De la solution à l'industrialisation
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services
 
Webinar "La plateforme Alfresco"
Webinar "La plateforme Alfresco"Webinar "La plateforme Alfresco"
Webinar "La plateforme Alfresco"
 

Mais de Julien Sicot

Warehouse request management Koha plugin
Warehouse request management Koha plugin Warehouse request management Koha plugin
Warehouse request management Koha plugin Julien Sicot
 
Concevoir une bibliothèque numérique avec Omeka
Concevoir une bibliothèque numérique avec OmekaConcevoir une bibliothèque numérique avec Omeka
Concevoir une bibliothèque numérique avec OmekaJulien Sicot
 
Utopia - site web BU
Utopia - site web BUUtopia - site web BU
Utopia - site web BUJulien Sicot
 
Omeka ou comment réaliser une bibliothèque numérique à l'échelle d'un SCD
Omeka ou comment réaliser une bibliothèque numérique à l'échelle d'un SCDOmeka ou comment réaliser une bibliothèque numérique à l'échelle d'un SCD
Omeka ou comment réaliser une bibliothèque numérique à l'échelle d'un SCDJulien Sicot
 
[concept] Maquette site web de la bibliothèque universitaire Rennes 2
[concept] Maquette site web de la bibliothèque universitaire Rennes 2[concept] Maquette site web de la bibliothèque universitaire Rennes 2
[concept] Maquette site web de la bibliothèque universitaire Rennes 2Julien Sicot
 
Comparatif solutions de "Subject Guides"
Comparatif solutions de "Subject Guides"Comparatif solutions de "Subject Guides"
Comparatif solutions de "Subject Guides"Julien Sicot
 
Panorama de fonctionnalités et services pour une Archive Ouverte
Panorama de fonctionnalités et services pour une Archive OuvertePanorama de fonctionnalités et services pour une Archive Ouverte
Panorama de fonctionnalités et services pour une Archive OuverteJulien Sicot
 
Restitution veille sur portails de bibliotheque
Restitution veille sur portails de bibliothequeRestitution veille sur portails de bibliotheque
Restitution veille sur portails de bibliothequeJulien Sicot
 
Restitution veille sur les portails de bibliotheque
Restitution veille sur les portails de bibliothequeRestitution veille sur les portails de bibliotheque
Restitution veille sur les portails de bibliothequeJulien Sicot
 
Outils de recherche et de veille sur le web en SHS
Outils de recherche et de veille sur le web en SHSOutils de recherche et de veille sur le web en SHS
Outils de recherche et de veille sur le web en SHSJulien Sicot
 
Nouvelles modalités de l'Information Scientifique
Nouvelles modalités de l'Information ScientifiqueNouvelles modalités de l'Information Scientifique
Nouvelles modalités de l'Information ScientifiqueJulien Sicot
 
Google Scholar : guide d'utilisation
Google Scholar : guide d'utilisationGoogle Scholar : guide d'utilisation
Google Scholar : guide d'utilisationJulien Sicot
 
Vers un Méthodoc 2.0... Pourquoi choisir la solution Libguides ?
Vers un Méthodoc 2.0... Pourquoi choisir la solution Libguides ?Vers un Méthodoc 2.0... Pourquoi choisir la solution Libguides ?
Vers un Méthodoc 2.0... Pourquoi choisir la solution Libguides ?Julien Sicot
 
Diffusion électronique des Thèses à l'université Rennes 2
Diffusion électronique des Thèses à l'université Rennes 2Diffusion électronique des Thèses à l'université Rennes 2
Diffusion électronique des Thèses à l'université Rennes 2Julien Sicot
 
Présentation de HAL - Sensibilisation aux Archives Ouvertes
Présentation de HAL - Sensibilisation aux Archives OuvertesPrésentation de HAL - Sensibilisation aux Archives Ouvertes
Présentation de HAL - Sensibilisation aux Archives OuvertesJulien Sicot
 
Du bon usage de Google : la recherche d’informations sur le web
Du bon usage de Google : la recherche d’informations sur le webDu bon usage de Google : la recherche d’informations sur le web
Du bon usage de Google : la recherche d’informations sur le webJulien Sicot
 
Google Scholar : un moteur de recherche pour l'information scientifique
Google Scholar : un moteur de recherche pour l'information scientifiqueGoogle Scholar : un moteur de recherche pour l'information scientifique
Google Scholar : un moteur de recherche pour l'information scientifiqueJulien Sicot
 
Sensibilisation aux Archives Ouvertes
Sensibilisation aux Archives Ouvertes Sensibilisation aux Archives Ouvertes
Sensibilisation aux Archives Ouvertes Julien Sicot
 

Mais de Julien Sicot (19)

Warehouse request management Koha plugin
Warehouse request management Koha plugin Warehouse request management Koha plugin
Warehouse request management Koha plugin
 
Concevoir une bibliothèque numérique avec Omeka
Concevoir une bibliothèque numérique avec OmekaConcevoir une bibliothèque numérique avec Omeka
Concevoir une bibliothèque numérique avec Omeka
 
Utopia - site web BU
Utopia - site web BUUtopia - site web BU
Utopia - site web BU
 
Poster Form@doct
Poster Form@doctPoster Form@doct
Poster Form@doct
 
Omeka ou comment réaliser une bibliothèque numérique à l'échelle d'un SCD
Omeka ou comment réaliser une bibliothèque numérique à l'échelle d'un SCDOmeka ou comment réaliser une bibliothèque numérique à l'échelle d'un SCD
Omeka ou comment réaliser une bibliothèque numérique à l'échelle d'un SCD
 
[concept] Maquette site web de la bibliothèque universitaire Rennes 2
[concept] Maquette site web de la bibliothèque universitaire Rennes 2[concept] Maquette site web de la bibliothèque universitaire Rennes 2
[concept] Maquette site web de la bibliothèque universitaire Rennes 2
 
Comparatif solutions de "Subject Guides"
Comparatif solutions de "Subject Guides"Comparatif solutions de "Subject Guides"
Comparatif solutions de "Subject Guides"
 
Panorama de fonctionnalités et services pour une Archive Ouverte
Panorama de fonctionnalités et services pour une Archive OuvertePanorama de fonctionnalités et services pour une Archive Ouverte
Panorama de fonctionnalités et services pour une Archive Ouverte
 
Restitution veille sur portails de bibliotheque
Restitution veille sur portails de bibliothequeRestitution veille sur portails de bibliotheque
Restitution veille sur portails de bibliotheque
 
Restitution veille sur les portails de bibliotheque
Restitution veille sur les portails de bibliothequeRestitution veille sur les portails de bibliotheque
Restitution veille sur les portails de bibliotheque
 
Outils de recherche et de veille sur le web en SHS
Outils de recherche et de veille sur le web en SHSOutils de recherche et de veille sur le web en SHS
Outils de recherche et de veille sur le web en SHS
 
Nouvelles modalités de l'Information Scientifique
Nouvelles modalités de l'Information ScientifiqueNouvelles modalités de l'Information Scientifique
Nouvelles modalités de l'Information Scientifique
 
Google Scholar : guide d'utilisation
Google Scholar : guide d'utilisationGoogle Scholar : guide d'utilisation
Google Scholar : guide d'utilisation
 
Vers un Méthodoc 2.0... Pourquoi choisir la solution Libguides ?
Vers un Méthodoc 2.0... Pourquoi choisir la solution Libguides ?Vers un Méthodoc 2.0... Pourquoi choisir la solution Libguides ?
Vers un Méthodoc 2.0... Pourquoi choisir la solution Libguides ?
 
Diffusion électronique des Thèses à l'université Rennes 2
Diffusion électronique des Thèses à l'université Rennes 2Diffusion électronique des Thèses à l'université Rennes 2
Diffusion électronique des Thèses à l'université Rennes 2
 
Présentation de HAL - Sensibilisation aux Archives Ouvertes
Présentation de HAL - Sensibilisation aux Archives OuvertesPrésentation de HAL - Sensibilisation aux Archives Ouvertes
Présentation de HAL - Sensibilisation aux Archives Ouvertes
 
Du bon usage de Google : la recherche d’informations sur le web
Du bon usage de Google : la recherche d’informations sur le webDu bon usage de Google : la recherche d’informations sur le web
Du bon usage de Google : la recherche d’informations sur le web
 
Google Scholar : un moteur de recherche pour l'information scientifique
Google Scholar : un moteur de recherche pour l'information scientifiqueGoogle Scholar : un moteur de recherche pour l'information scientifique
Google Scholar : un moteur de recherche pour l'information scientifique
 
Sensibilisation aux Archives Ouvertes
Sensibilisation aux Archives Ouvertes Sensibilisation aux Archives Ouvertes
Sensibilisation aux Archives Ouvertes
 

Une application mobile avec les webservices Koha

  • 1. une application mobile avec les webservices koha Julien Sicot Symposium Koha MAi 2013
  • 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