Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Statistiques d'usage des ressources documentaires électroniques - Infrastructures

Statistiques d'usage des ressources documentaires électroniques - Infrastructures

Pour comprendre les impacts des
technologies sur les statistiques : proxy,
reverse proxy, shibboleth, logs,
tracker ...

Stéphane Gully

March 13, 2012
Tweet

More Decks by Stéphane Gully

Other Decks in Technology

Transcript

  1. Statistiques d'usage des ressources documentaires électroniques Infrastructures Stéphane Gully <[email protected]>

    « Pour comprendre les impacts des technologies sur les statistiques : proxy, reverse proxy, shibboleth, logs, tracker ... » ENSSIB, 13 mars 2012
  2. 2 À propos • Stéphane Gully • Chef de projet

    Fédération d'identités à l'INIST-CNRS • Développements Web PHP, NodeJS, HTML, CSS, JQuery, REST, Framework, Stats, Wiki ... • DevelopR6, DevLog, Plume • Perso Site : http://www.zeitoun.net Twitter : @kerphi79
  3. 3 UPS076 du CNRS : 300 personnes Collecter, analyser et

    diffuser l’IST Unité de production 6 000 clients 600 000 nouvelles références bibliographiques chaque année Bases de Données Pascal : 15 millions de références en science, technologie et médecine Francis : 3 millions de références en sciences humaines, sociales et économie Services en ligne : cat.inist.fr (catalogue) : 3 millions visites / mois, 100 000 visites / jours www.refdoc.fr (VPC de documents) : 250 000 visites / mois, 7800 visites / jours Portails Biblios (accès réservé aux documents numériques) Sites de Veille (sites thématiques spécialisés) INIST : INstitut de l’Information Scientifique et Technique
  4. 4 Plan • Techniques de mesures des usages • Les

    fichiers de log (outils ?) • Les « trackers » (outils ?) • Comment lire les résultats ? • EZProxy • Fonctionnement d'EZProxy • Avantages d'EZProxy • Contrôle d'accès avec EZProxy • Stratégie d'analyse des logs locales
  5. 5 Techniques de mesure des usages Fichiers de log d'un

    serveur Web Tracker : javascripts insérés dans les pages Estimations : barre d'outils échantillons ou panel choisi d'utilisateurs ?
  6. 13 Informations tracées = ➔ Identifiant anonyme ➔ Page visitée

    ➔ Heure de la visite ➔ Navigateur / OS ➔ Taille de l'écran ➔ Pays, ville ➔ Affluents ?
  7. 15 Tracker & PDF • Tracker = Javascript • Javascript

    s'exécute dans une page Web • Javascript peut analyser le contenu de la page Web • Un fichier PDF ≠ page Web Technique du tracker ne peut pas compter les consultations de PDF
  8. 18 145.130.77.81 - toto [10/Jun/2010:03:00:55 +0200] "GET /data/page1.html HTTP/1.1" 200

    1689 "http://www.google.fr/?q=logiciel+libre" "IE6" 66.130.77.181 - username [10/Jun/2010:03:01:15 +0200] "GET /data/page3.html HTTP/1.1" 200 1993 "http://monsite.domaine.fr/data/page2.html" "Mozilla/5.0" Contenu d'une ligne de log 126.10.7.11 - bob [10/Jun/2010:03:01:01 +0200] "GET /data/page3_.html HTTP/1.1" 404 0 "http://monsite.domaine.fr/data/page1.html" "Chrome" 45.78.89.1 - titi [10/Jun/2010:03:01:14 +0200] "GET /data/page3.html HTTP/1.1" 200 1993 "http://monsite.domaine.fr/data/page2.html" "Safari/3.0" 66.130.77.181 - username [10/Jun/2010:03:01:05 +0200] "GET /data/page2.html HTTP/1.1" 200 1473 "http://monsite.domaine.fr/data/page1.html" "Mozilla/5.0"
  9. 19 Contenu d'une ligne de log 66.130.77.181 - username [10/Jun/2010:03:01:05

    +0200] "GET /data/page2.html HTTP/1.1" 200 1473 "http://monsite.domaine.fr/data/page1.html" "Mozilla/5.0" IP machine utilisateur
  10. 20 Contenu d'une ligne de log 66.130.77.181 - username [10/Jun/2010:03:01:05

    +0200] "GET /data/page2.html HTTP/1.1" 200 1473 "http://monsite.domaine.fr/data/page1.html" "Mozilla/5.0" IP machine utilisateur Login utilisateur
  11. 21 Contenu d'une ligne de log 66.130.77.181 - username [10/Jun/2010:03:01:05

    +0200] "GET /data/page2.html HTTP/1.1" 200 1473 "http://monsite.domaine.fr/data/page1.html" "Mozilla/5.0" IP machine utilisateur Login utilisateur Date de la requête
  12. 22 Contenu d'une ligne de log 66.130.77.181 - username [10/Jun/2010:03:01:05

    +0200] "GET /data/page2.html HTTP/1.1" 200 1473 "http://monsite.domaine.fr/data/page1.html" "Mozilla/5.0" IP machine utilisateur Login utilisateur Date de la requête Page consultée
  13. 23 Contenu d'une ligne de log 66.130.77.181 - username [10/Jun/2010:03:01:05

    +0200] "GET /data/page2.html HTTP/1.1" 200 1473 "http://monsite.domaine.fr/data/page1.html" "Mozilla/5.0" IP machine utilisateur Login utilisateur Date de la requête Page consultée Code retour HTTP
  14. 24 Contenu d'une ligne de log 66.130.77.181 - username [10/Jun/2010:03:01:05

    +0200] "GET /data/page2.html HTTP/1.1" 200 1473 "http://monsite.domaine.fr/data/page1.html" "Mozilla/5.0" IP machine utilisateur Login utilisateur Date de la requête Page consultée Code retour HTTP Taille de la requête Référent Version de navigateur
  15. 27 Outils génériques & article PDF • AWStats, Webalizer, W3Perl,

    AWFFull, Analog Outils génériques ne sont pas faits pour reconnaître ISSN, DOI ...
  16. 37 Non rebond Rebond Taux de rebond = Taux de

    visites à une page = Σ rebonds Σ visites Taux de rebond
  17. 39 Affluents / Référents Site A Site B A est

    le référent de B ⇔ A est le « referer » de B ⇔ A est l'affluent de B Accès direct ➔ Url saisie ➔ Favoris
  18. 44 Visites t5 – t4 < 30 minutes mercredi mardi

    jeudi t4 t6 t5 t1 t2 t3 5 visites
  19. 58 Fonctionnement d'EZProxy EZproxy <a href="http://sciencedirect.com/00014575/01.pdf"> Télécharger la version PDF

    </a> Réécriture des liens dans la page HTML retournée par l'éditeur. <a href="http://sciencedirect.com.gate1.inist.fr/00014575/01.pdf"> Télécharger la version PDF </a>
  20. 64 Logs générées par cet exemple 126.10.7.11 – [email protected] [13/Mar/2012:16:10:01

    +0100] "GET http://sciencedirect.com HTTP/1.1" 200 1993 126.10.7.11 – [email protected] [13/Mar/2012:16:13:41 +0100] "GET http://sciencedirect.com/00014575/01.pdf HTTP/1.1" 200 465935 ISSN = 0001-4575 id PDF = 01
  21. 65 Avantages d'EZProxy • Proxy transparent pour l'utilisateur • Pré-configuré

    pour les grands éditeurs • Flexibilité pour l'authentification • Possibilité de mesure des consultations
  22. 66 Mesure locale des consultations • Analyse des logs EZproxy

    permet de : • Compter les consultations par éditeurs • Compter les consultations par revues • Compter les consultations par articles • Chiffres utiles pour : • Évaluation des campagnes de tests d'abonnements • Choix des abonnements pour le CNRS • Négocier les tarifs avec les éditeurs Par individu Par laboratoire Par « groupe »
  23. 68 Authentifications disponibles • Athens • Blackboard • CAS •

    DRA Web2 • FTP • IMAP • Innovative Interface Inc. • Insignia • L4U • LDAP • Library card numbers • ODBC • POP • RADIUS • Referring URL • Shibboleth • SirsiDynix • SIP • Text file • Ticket • TLC • Windows Domain • Virtual reference • Multiple auth
  24. 70 Configuration EZProxy # délégation de l'authentification ::CGI=https://ezticket.inist.fr/index.php?service=^U&gate=gate1 # authentification

    par ticket ::Ticket AcceptGroups bibliovie TimeValid 10 MD5 xxxxx Expired; Deny expired.html /Ticket user.txt Group bibliovie IncludeFile ../share/editors/plateforme_elsevier IncludeFile ../share/editors/wos IncludeFile ../share/editors/sciencemag IncludeFile ../share/editors/blackwell # ... config.txt
  25. 71 Code PHP pour la génération d'un ticket EZProxy https://ezticket.inist.fr/index.php

    function EZproxyURLInit( $EZproxyServerURL, $secret, $user = "portal", $groups = "") { global $EZproxyStartingPointURL; if (strcmp($secret, "") == 0) { echo("EZproxyURLInit secret missing"); exit(1); } $packet = '$u' . time(); if (strcmp($groups, "") != 0) { $packet .= '$g' . $groups; } $EZproxyTicket = urlencode(md5($secret . $user . $packet) . $packet); $EZproxyStartingPointURL = $EZproxyServerURL . "/login?user=" . urlencode($user) . "&ticket=" . $EZproxyTicket; } function EZproxyURL($url) { global $EZproxyStartingPointURL; if (strcmp($EZproxyStartingPointURL, "") == 0) { echo("EZproxyURLInit must be called before EZproxyURL"); return ""; } return $EZproxyStartingPointURL . "&url=" . $url; }
  26. 74 Attributs récupérés • mail ex : [email protected] • sn

    ex : GULLY • givenName ex : Stéphane • o ex : CNRS • ou ex : UPS76 (code unité) • cnrsDS ex : 97 (département scientifique)
  27. 75 Utilisation des attributs https://ezticket.inist.fr mail sn givenName ou o

    cnrsDS Administrateur des portails INIST fedeadmin 1. Mémorisation des attributs. 2. Récupération de l'attribut « communauté » (bibliovie, biblioshs …) Référentiel utilisateurs 1. Réglages manuels des droits. 2. Enrichissement de la base de connaissances (SI Labo, infos de gestion)
  28. 76 Gestion des chercheurs isolés IdP « virtuel » https://ezticket.inist.fr

    WAYF 1. Création des comptes des chercheurs isolés. 2. Réglage des droits de chaque chercheur isolé. 3. Volumétrie doit rester raisonnable.
  29. 79 EZProxy et les éditeurs • Les tendances sont :

    • Fournisseur de service côté éditeurs • Analyse fine des logs EZProxy en local • Donc conflit d'intérêts … Alternatives : • Récupération des statistiques chez les éditeurs (SUSHI) • Demander aux éditeurs d'ajouter des systèmes de tracker sur leurs plate-formes
  30. 84 Structure d'une URL http://www.cairn.info/load_pdf.php? ID_ARTICLE=RFG_218_0009 Type PDF & ID

    éditeur Nécessite une base de connaissances pour décoder. Code éditeur ISSN RFG 0338-4551 LMS 0027-2671 ...
  31. 86 Une structure d'URL par plate-forme éditeur • Sciencedirect =

    une structure d'URL • Cairn = une structure d'URL • … • Chaque plate-forme possède sa structure d'URL • Un système de reconnaissance d'URL par plate-forme • Écriture d'un : parseur / module / plugin
  32. 87 Limites de l'analyse des URLs Exemple chez Springer :

    http://www.springerlink.com/content/j5q872410p5 10m63/fulltext.pdf Exemple chez Cairn : http://www.cairn.info/load_pdf.php? ID_ARTICLE=RFG_218_0009 • URL opaques (session, cryptages) • Bases de connaissances à compléter manuellement
  33. 89 Perspectives • Mise à disposition d'une plate-forme d'analyse des

    logs au niveau ESR • Mutualisation des bases de connaissances (référentiels id éditeurs) • Interopérabilité avec les référentiels des SI • Reconnaissances jusqu'aux articles • Consolidation avec récupération des stats éditeurs (SUSHI) • Prototypage de systèmes de tracker sur les sites des éditeurs (à contractualiser ?)