Une application mobile avec les webservices Koha

1,898 views

Published on

Concevoir une version mobile de l'opac Koha en utilisant les web services.

Published in: Self Improvement
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,898
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
21
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Une application mobile avec les webservices Koha

  1. 1. une applicationmobileavec leswebservices kohaJulien SicotSymposium KohaMAi 2013
  2. 2. Thème « responsive »développé par le CCSRUne version mobileFAcile !Intégré à la versioncommunautaire à partir de la3.10Préférence opacthemesCSS + Javascript
  3. 3. UsagemobileLenteurs WebservicesToutes les fonctionnalités del’OPAC classique neconviennent pas forcément àun usage mobileInterface de l’OPAC estrelativement lourde à charger,la recherche est assez lenteExpérimentation pour mieuxappréhender les webservicesde Koha.Une web appPourquoi ?
  4. 4. TechnologiesUtiliséesSRU ILS-DIJquery mobile+
  5. 5. Successeur de Z39-50. Développé etmaintenu par la Bibliothèque du Congrès.Version actuelle (version 1.2) date de 2007SRUSearch/Retrieve via URLTourné vers lestechnologies du web(protocole http et formatXML).SRU permet de faire circulerdes requêtes à l’intérieur desURLs en utilisantl’architecture RESTNotamment utilisé pour rechercher et obtenirles enregistrements correspondant à unrequête formulée selon le langage derequête CQL « Contextual Query Language »SRUhttp://www.loc.gov/standards/sru/
  6. 6. SRUdans kohaParamétrage du publicserver avec écoute sur un port libre (par défaut9998 pour lexposition des données bibliographiques)Koha-conf.xml
  7. 7. SRUdans kohaLe paramétrage des index se trouve dans le fichier etc/zebradb/pqf.properties. Il contient le mapping entre les différents types dindexà considérer et les index zebra, ainsi que les mappings structurels,relationnels ou troncature...pqf.properties
  8. 8. SRULes 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 aumaximum• query!: la requête (en fonction des index définis dansle 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. 9. Recommendations de la DLF (DigitalLibrary Federation)ILS-DIintegrated library systems - discovery interfacesSet de web services / APIspour favoriser, faciliter lacommunication / leséchanges de données entreSIGB et les services dedécouverteDisponibilité en temps réeldes exemplaires. Informationsdu compte lecteur.Transactions, réservations,prolongations, etc.Architecture dutype RESTILS-DIhttp://www.diglib.org/architectures/ilsdi/
  10. 10. ILS-DIdans kohaDans Koha, il est nécessaire d’activer le web service au niveau despréférences «web services» et de bien penser à déclarer lip du serveurqui devra accéder aux webservices (pour limiter l’accès à ce dernier)ILS-DI:AuthorizedIPs
  11. 11. ILS-DILes requêtes possiblesdans kohaLe webservice est exposé au niveau de l’OPAC. La liste des requêtespossibles et la documentation est visible à l’adresse http://votre.serveur/cgi-bin/koha/ilsdi.pl/cgi-bin/koha/ilsdi.plGetAvailabilityretourne la disponibilité des exemplaires enfonction d’un identifiant donnéGetRecordsretourne les informations bibliographiques etles données d’exemplaires (format marxml) enfonction d’une liste d’identifiantsGetAuthorityRecordsretourne en fonction d’une listed’identifiants, les données d’autoritéscorrespondantesLookupPatronretourne l’identifiant d’un lecteur enfonction de son borrowernumber, sonnuméro de carte ou son nomAuthentificatePatronauthentifie un adhérent en fonction deson login / mot de passe kohaGetPatronStatusretrourne les informations ducompte lecteurHoldTitle /HoldItem /CancelHoldpour placer ou annuler unerésevation sur un titre ou unexemplaireGetservicesretourne la liste des servicesdisponibles pour un adhérent sur unexemplaireRenewLoanprolonge le prêt sur le compte dunadhérent
  12. 12. Micro wsVia le module bilans et statistiquesPossibilité d’utiliser le module «bilans et statistiques» pour rendre public depuisl’opac des rapports paramétrés au niveau de l’interface pro (format de sortieJSON)http://url.de.lopac/cgi-bin/koha/svc/report?id=[id_rapport]
  13. 13. RESTfulgit://git.biblibre.com/koha-restful.gità surveillerWeb service développé par BibLibre pour le projet Drupal Opac (pas encorecommunautaire)Architecture de type REST (REpresentational State Transfer)Format de sortie possible : JSONExposé depuis l’opac : http://votre.serveur/cgi-bin/koha/rest.plExemples 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 estautorisé à la résevation)
  14. 14. Framework complémentaire à lalibrairie jQuery !Jquery mobileInterface utilisateur penséepour un usage mobile avecprise en compte des gesteset des écrans tactilesSimplicité d’utilisation.Technologies HTML5 et CSSPersonnalisable. Un thème rollerpermet de créer son propre thème trèsfacilement.http://jquerymobile.com/Permet de créer facilement des applications Webcross-plateforme (compatibles tous lesnavigateurs, responsive design, multiplateforme)
  15. 15. L’applicationFonctionnalités• Recherche simple• Gestion disponibilité desexemplaires• Accès compte lecteur (statutinscription, messages decirculation, prêt en cours,retards• Recherche avancée
  16. 16. 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 sourcesSur github

×