Skip to content

URL avec identifiant de session : brèves explications

05/02/2010

Je réponds ici à une question d’Austremoine posée en commentaire au précédent billet.

(j’avais commencé un commentaire, et j’ai réalisé que ça prenait un peu de place…)

Grosso modo, donc — mais je ne sais pas si j’ai compris quel genre de détails vous espériez avoir :
Partons des exigences statistiques : par exemple si vous administrez un site web ou un opac, vous aimerez savoir combien de personnes différentes se sont connectées dessus chaque jour, et combien de temps en moyenne elles y sont restées.

Petit rappel

Comment une machine fait-elle pour vous fournir ces informations ?
Les statistiques de ce genre sont fondées sur les logs des serveurs web.
Un fichier de log, c’est une liste infinie d’URL.
Vous aurez une bonne description de l’exploitation possible de ces fichiers dans cet article du Code4Lib Journal (26/06/2009).

Etape 1

Quand vous vous connectez à un opac, le fichier de log rajoute une ligne et enregistre :

  1. Votre adresse IP
  2. l’URL demandée par votre navigateur (la page d’accueil, donc)
  3. L’instant où vous avez demandé cette URL (date, heure, minute, seconde)
  4. Eventuellement d’autres informations

Arrivé sur la page d’accueil de l’opac, vous saisissez une recherche. Si vous vous reprenez 4 fois pour l’écrire, le serveur de l’opac n’en sait rien. Tout ce dont il est informé, c’est, au moment où vous cliquez sur « Rechercher » (ou « OK », ou « Allez, hop ! »), c’est que vous réclamez une nouvelle page, quelques secondes après avoir demandé à voir la page d’accueil.

Etape 2

En remplissant un formulaire de recherche, en fait, vous construisez une URL.
(merci aux informaticiens présents dans la salle d’épargner aux autres les détails sur les méthodes post et get ;-))

Le fichier de log rajoute une nouvelle ligne, avec les nouvelles informations : IP, URL, date, etc.

Etape 3

Vous parcourez alors la liste des résultats. Vous cliquez sur le 5e résultats. C’est encore une nouvelle URL et une nouvelle ligne dans le fichier de log.

Vous notez alors sur un post-it la cote du bouquin qui vous intéresse, et vous fermez votre navigateur.

Résultat

Le fichier de logs contient donc 3 lignes avec votre IP, et des moments proches les uns des autres.

Un programme statistique sera capable d’en conclure que vous être resté 3 minutes sur le site, et que vous avez lancé telle recherche (le mot est présent dans l’URL)

Le même programme traitera les 25000 lignes contenues dans le fichier log pour chaque journée, et fournira ainsi la liste des recherches les plus souvent effectuées et la durée moyenne de sessions. Ainsi qu’une géolocalisation des internautes grâce à leurs IP, à travers un résolveur capable de dire où vous étiez, interfacé avec Google Maps pour projeter cette localisation sur une carte.

Et l’identifiant de session dans tout ça ?

Vous fermez le navigateur. Vous étiez dans une bibliothèque publique. Deux secondes après, un lecteur (qui attendait derrière vous avec impatience) s’empare du poste, ouvre le navigateur, tombe sur la page d’accueil de l’opac.

EEt voilà une ligne dans le fichier de log.

Avec votre IP.

Horreur ! Ce nouveau lecteur va donc être confondu avec vous ! Car comment savoir que vous n’êtes plus là ?

De nombreux systèmes résolvent la question en indiquant un numéro interminable dans l’URL, sous la forme : sid=1234545676575121324sdze87987de1 (sid pour « session ID ». Mais on peut aussi trouver « id », ou « pid », etc.).

Ainsi, dans le fichier de log, votre identifiant est présent pour toutes vos URL. Quand vous fermez le navigateur et que quelqu’un d’autre l’ouvre, cela génère un nouvel identifiant de session, et l’honneur est sauf.

Effets de bords

Si vous allez sur un site indiquant un identifiant de session dans l’URL, et que vous y trouvez une page intéressante que vous souhaitez faire voir à quelqu’un, vous allez copier l’URL et la lui envoyer. Avec l’identifiant de session.

Donc quand le « quelqu’un » va cliquer sur le lien que vous lui donnez, il va « prolonger » la session. En plus, esthétiquement, il va voir une URL impossible à mémoriser.

Et si vous mettez la page en favori, vous allez réactiver la session à chaque fois que vous ouvrirez le site.

(Je pense que les programmes qui exploitent les fichiers de log tiennent compte d’écarts trop grands dans le temps  l’utilisation du même identifiant de session, mais je n’en suis pas sûr).

Si vous voulez réellement conserver, désigner, communiquer l’URL de la page, il faut donc supprimer cet identifiant de l’URL (donc enlever le sid=1234545676575121324sdze87987de1, ainsi que le caractère & qui le précède ou qui le suit). Car cet identifiant n’a rien à voir avec la page elle-même.

Mais comment font-ils ?

(là, toute personne plus éclairée sera la bienvenue pour apporter ses compétences : je n’ai pas révisé mon sujet avant de répondre !)

<update>Cf. ce commentaire au sujet des cookies</update>

Comment font les sites qui n’ont pas d’identifiant de session pour faire des stats ? C’est simple : ils considèrent que pour une même IP, s’il y a un temps d’inactivité supérieur à 10 ou 15 minutes (ou autre durée à définir) entre deux URL réclamées au serveur, la seconde URL doit être considérée comme l’ouverture d’une nouvelle session, et la 1ère comme la dernière URL de la session précédente.

Cela a d’autres conséquences statistiques, mais on ne sait jamais de toute façon si les internautes ne travaillent pas en groupe derrière l’écran, se passant la souris et le clavier à tour de rôle.

Conclusion

Non, l’identifiant de session n’est pas une aberration, et sa présence dans les URL ne doit pas être considérée comme bloquante pour le choix d’un SIGB (d’autant que si vous demander à un fournisseur : « d’accord pour votre opac, mais virez-moi ce truc », je ne suis pas sûr qu’il en soit capable car il fournit aussi l’outil de stats qui va avec, et toutes les requêtes seraient à revoir…).

C’est juste que c’est très moche, et que ça complique la vie quand on veut communiquer une URL ou simplement la mettre dans les favoris. Car en réalité personne ne les enlève, ces identifiants, donc des sessions se baladent dans la nature, susceptibles d’être réactivées à tout moment. Vous ne connaissez ni le jour ni l’heure où ça arrivera. Angoissant, non ?

Advertisements
10 commentaires
  1. Synt4XX_3rr0r permalink
    05/02/2010 15:46

    En fait le fonctionnement « normal » de la plupart des sites est de placer cet identifiant de session – non pas dans l’URL – mais en tant que cookie.
    Le cookie est ensuite renvoyé au serveur de façon invisible par le navigateur dans chaque requête HTTP, et potentiellement ajouté dans les fichiers de logs.
    En réalité, l’immense majorité des serveurs webs délivrent à leurs visiteurs des identifiants de session, simplement cela ne se voit pas car ils sont « cachés » dans des cookies.

    Je tiens à préciser quelque chose quand à la collecte de statistiques : à l’origine, les technologies du web n’ont pas été prévues pour cela. Donc les différentes méthodes utilisées sont au mieux des détournements des fonctionnalités initiales
    du www, voir carrément des bricolages bancals. Quoiqu’il en soit, il est IMPOSSIBLE de produire des chiffres fiables sur le nombre de visiteurs distincts, la durée réelle de leur visite, le nombre de pages vues, les liens externes etc …
    Je ne dénigre pas ces stats, du moment qu’elles sont prises pour ce qu’elles sont : c’est à dire des indicateurs basés sur des estimations. Cela peut être utile pour mieux comprendre le comportement de vos visiteurs, mais vous ne pouvez pas exiger de votre logiciel ou de votre informaticien des chiffres fiables ni très sophistiqués.
    A bon entendeur …

  2. 05/02/2010 16:02

    @Synt4XX_3rr0r : merci beaucoup !
    j’ai failli mentionner les cookies, puis j’ai eu peur de faire une erreur.
    Et je suis complètement d’accord sur les aspects dangereux des stats obtenues : on n’a jamais des statistiques de consultation des sites, mais une déduction risquée à partir de certaines informations.
    Cela dit, généralement, on a l’honnêteté (ou la prudence) d’y voir au mieux de grandes variations d’ensemble, sans espérer aller plus loin.

    Mais je ne vais pas me lancer dans des appréciations sur ce que sont les stats de manière générale : restons prudent 🙂

  3. Synt4XX_3rr0r permalink
    05/02/2010 16:37

    « Cela dit, généralement, on a l’honnêteté (ou la prudence) d’y voir au mieux de grandes variations d’ensemble, sans espérer aller plus loin. »
    => J’aimerais que cela soit toujours le cas … malheureusement, j’ai déjà vu des responsables éxiger des chiffres précis sur des données techniquement impossible à collecter parce qu’ils comptaient s’en servir pour des rapports officiels sur l’activité de leur service …
    Dans ces cas-là, j’ai beau leur dire « non, c’est impossible, le mieux qu’on puisse avoir c’est une vague estimation » mais généralement ils ne me croient pas : « Ah bon ? Pourtant sur tel site ou tel service de stats ils le proposent » … et je lis dans leurs yeux qu’ils pensent que je leur ment, sans doute parce que je suis trop fainéant ou incompétent pour le faire. Ce qu’il ne savent pas c’est que le site ou service en question aussi fournit bel et bien une estimation grossière (voir TRES fausse, et je pèse mes mots) mais ne le présente évidemment pas de cette façon.

  4. 05/02/2010 16:56

    @Synt4XX_3rr0r : effectivement sur ces questions-là je n’ai eu pour ma part l’occasion d’échanger qu’avec des personnes compétentes, ou au moins raisonnables…

  5. Austremoine permalink
    08/02/2010 16:26

    Merci, merci, je n’en attendais ni tant, ni si vite ! Je suis un peu confus, mais je me console en me disant que d’autres bénéficieront de ma question de néophyte. Et même si je ne pensais pas particulièrement aux statistiques en posant la question, je n’oublierai pas de recaser ces indications la prochaine fois que la question des stats de consultation du portail viendra sur le tapis (et Dieu sait qu’elle y vient souvent).

    En fait, je pensais essentiellement à ce point que vous évoquiez dans un billet l’an dernier (https://bibliotheques.wordpress.com/2009/01/26/le-minimum-pour-un-opac-en-plus-de-tout-ce-qui-est-evident/)
    « La notice détaillée précise comment pointer vers elle (pour éviter à l’internaute de récupérer une URL contenant l’identifiant de session, les mots clés interrogés, etc.), comportant par exemple l’identifiant de notice. »
    Mais à relire ce paragraphe je crois comprendre qu’en fait l’existence d’une URL pérenne pour une notice n’est pas incompatible avec l’usage d’un identifiant de session pour la navigation. Me tromp’-je ?

  6. 08/02/2010 18:15

    @Austremoine : Quelle mémoire ! (un an, c’est bien loin !)
    Et je confirme : l’identifiant de session n’empêche pas qu’il y ait aussi un identifiant de notice dans l’URL.
    Simplement, cela nécessite pour le système (si vous voulez proposer à vos usagers un bouton « Recommander cette notice » ou « Envoyer vers Delicious », etc.) ou pour l’internaute de retraiter l’URL, pour en enlever le paramètre « identifiant_de_session=qqchose ».
    C’est « juste » une petite contrainte supplémentaire, qu’aucun internaute ne fait jamais de toute façon (donc il fait rapide, càd qu’il n’enlève pas l’identifiant de session, en revanche ça donne des URL sales et des statistiques faussées).

    En fait, la présence de l’identifiant de session dans l’URL n’est en soi l’indice de rien du tout quant à la pérennité des URL vers les notices et les listes de résultats.
    Le logiciel Aleph fournit des identifiants de session ET des identifiants de notices.
    Koha fournit des identifiants de notices, mais pas d’identifiant de session.
    Sur le Sudoc, on voit apparaître dans l’URL un paramètre « COOKIE », mais aucune URL de notice n’est pérenne.
    Quant à l’opac du SCD de Limoges (que je ne nomme pas parce que je me plante toujours entre Absys, Ab6, AbsysNet, etc.), je n’ai toujours pas compris ce que pouvaient signifier les chiffres variables présents dans l’URL…

  7. Austremoine permalink
    09/02/2010 18:01

    « Quelle mémoire ! (un an, c’est bien loin !) »
    Réponse 1) Ben oui mais que voulez-vous moi votre blog je l’apprends par coeur, il est la source de toute sagesse.
    Réponse 2) J’ai interrogé le moteur de recherche avec les mots URL et pérenne et j’ai retrouvé ça (que de fait j’avais lu, auparavant, tout de même)
    Choisissez entre les deux réponses en fonction des besoins du moment, (vous donner le moral / vous confirmer dans l’idée que la technique peut suppléer aux défauts de la mémoire).

    En dehors de ça, c’est plutôt une bonne nouvelle qu’il n’y ait pas de lien entre l’identifiant de session et l’URL pérenne.

Trackbacks

  1. AtoZ – Quelques choix simples « Bibliothèques [reloaded]
  2. Des risques de l’utilisation des passerelles réseau sur l’amitié entre les peuples « Bibliothèques [reloaded]
  3. Google Analytics pour Primo : étudier le comportement des internautes « Bibliothèques [reloaded]

Les commentaires sont fermés.

%d blogueurs aiment cette page :