Supervision site web
Accueil
But de ce site
Dans le carde de ma formation au sein d'Ingénieurs2000 de la filière Informatique et Réseaux sur le site de l'Université de Marne la Vallée, il nous a été demandé de présenter un sujet concernant le domaine informatique durant notre cours de système de troisième année.
Cette présentation c'est divisé en deux étapes :
- Un exposé oral de 30mn face à l'ensemble de la promotion et de notre enseignant responsable Dominique Revuz (voici le support utilisé durant l'exposé : Supervision_site_web.pdf)
- Le présent site Web regroupant l'ensemble des informations passées durant l'exposé oral.
Ce principe d'exposé étant mis en place depuis plusieurs années, beaucoup d'autres sont sujet différents ont pu être traités et sont disponible sur le site des exposés système IR3.
Présentation du sujet
De nos jours, tous le monde navigue sur internet... On fait des achats, on lit les journaux, on discute avec des amis et on consulte la météo. De plus en plus de gens offrent leur services, échangent des idées, et se font connaître grâce à l'internet. Et ce n'est qu'un début ! Avoir un site sur le web devient presque nécessaire afin de s'assurer une visibilité et une crédibilité qui permettent d'optimiser la diffusion de vos services et vos relations avec votre clientèle.
Mais la disparition d'un site Web peut s'avéré aussi rapide que ça création si celui-ci n'offre pas de services performants et évolutifs fasse au besoins des clients. Ces pour cette raison qu'il convient d'accorder une grande importance à la supervision des sites Web qui assure leurs pérennité.
Auteur
Ce site fait suite à la présentation de la Supervision des sites web exposé le jeudi 9 décembre 2004 par BARDIN Denis
Glossaire
accès (ou pageview) :
Demande d'une page HTML (ou texte, ou PDF) au serveur web. Le nombre d'accès est inférieur au nombre de requêtes, la différence croissant avec le nombre d'images présentes dans chaque page du site.
logs :
Fichier contenant les informations de connexion des utilisateurs sur un serveur.
marqueurs (ou tags) :
Codes spécifiques utilisés pour mettre en forme des documents html.
requête (ou hit) :
Demande d'un fichier (ou ressource) au serveur web. Ce fichier peut contenir une page HTML, une image, une animation, etc. A chaque requête correspond une ligne dans le fichier journal.
Nécessité de la mesure d'audience
Evaluation du retour sur investissement
Etant donné les budgets conséquents nécessaires à la mise en place de sites web il convient de pouvoir évaluer son retour sur investissement. Cette évaluation passe par le suivi de la fréquentation du site synthétisé afin d'en ressortir les informations nécessaires
L'étude de l'audience d'un site va donc permettre un choix politique fasse aux moyens de mise en place des différents services et informations accessibles via le site Web
Définition des effort de maintenance
La maintenance d'un site qui passe par l'ajout ou la mise à jour de pages sur le site est une tâche très lourde. Afin de limiter cette charge de travail mais surtout de cibler les actions demandées par les clients, il est plus qu'intéressant de s'appuyer sur des outils de mesure d'audience.
Ainsi, il est évident que la périodicité de mise à jour d'une page HTML sera fonction de sa popularité. Les outils de mesures permettent d'effectuer un bilan sur l'ensemble des pages d'un site afin dans remonter les plus fréquentées. De la même façon, une rubrique largement visitée pourra se voir ajouter une ou plusieurs pages afin d'offrir aux clients les informations supplémentaires qu'ils attendent
La mesure de l'audience d'un site à donc également pour but de d'optimiser les efforts de maintenance pour que celle-ci soit la plus rentable possible. Ainsi, seules les demandes expresses des clients doivent donner lieu à une action de maintenance.
Définition des axes de développement
De la même façon que pour la maintenance, la mesure de l'audience d'un site va permettre l'organisation et l'optimisation des axes de développement.
Si suite à une étude des données auditées, il s'avère qu'un grand nombre d'internautes accèdent régulièrement à une même page dont l'accès n'est pas optimisée, alors il conviendra de mettre en place une fonctionalité améliorant l'accès à cette page. Nous pouvons également penser aux sites commerciaux qui après s'être aperçu qu'un certain nombre d'internautes remplissent leurs paniers virtuels d'un ensemble de produits sans pour autant faire aboutir la commande, offrira la posibilité de sauvegarder ce panier.
Mais en plus des demandes clients (exprimé par leur façon de naviguer à travers le site), d'autres informations priomordiales peuvent également être récupérées. Ainsi, par exemple le type de navigateur utilisé (Internet exploreur, Mozilla, Netscape, etc...), le type de de résolution d'affichage et d'autre encore permettent aux développeurs de customiser le site Web. En effet, nous savons que chacun des navigateurs offre des fonctionalités et connaissent des bugs qui leurs sont propres. Le dévelopeurs doit donc prendre garde à ne pas mettre en place une fonctionalité non prise en charge par le navigateur le plus populaire. De la même, façon le site web sera optimisé pour la résolution gaphique la plus largement répandue
Les différentes politiques de mesures
Analyse des logs
Chaque requête adressée à un site web donne naissance à un enregistrement dans le fichier journal du serveur (encore appelé fichier log, du nom de son extension, et access log file en anglais). L'analyse de ce fichier permet de mesurer l'audience d'un site pris dans son ensemble, voire même l'audience de chacune des pages qui le composent. Cette technique est pratiquée depuis 1995.
En général, on ne décompte que les requêtes et/ou les accès effectivement satisfaits (code HTTP inférieur à 400) en éliminant les erreurs dues soit au client (code 4nn), soit au serveur(code 5nn). La variation (en fonction du temps) du nombre des requêtes donne une idée des performances du serveur web ; celle du nombre des accès mesure l'intérêt que les internautes portent aux informations contenues dans le site.
Une première question naît du fait qu'un serveur web sert deux sortes de clients :
- Les robots et les agents, d'une part. Les premiers parcourent le web à des fins d'indexation, les seconds recherchent une information précise. Les robots les plus connus sont ceux des moteurs de recherche, mais il existe également des robots "privés",
- Les internautes, d'autre part, qui interrogent les sites web directement via leurs navigateurs, ou indirectement via leurs aspirateurs de sites.
Plusieurs techniques sont utilisables pour séparer les accès dûs aux internautes, de ceux dûs aux robots et aux agents :
- Utiliser une liste de robots et d'agents connus pour opérer sur le web. Cette méthode est difficilement praticable, parce que de nouveaux robots et/ou agents font leur apparition tous les jours, ou presque,
- Faire l'hypothèse que seuls les internautes utilisent un navigateur signalé par le code "mozilla" dans le champ "user-agent". Cette méthode donne des résultats erronés, parce que certains robots utilisent le même code, tandis que certains aspirateurs ne l'utilisent pas,
- Utiliser le fait que les robots et les agents requièrent les pages HTML, mais pas les figures ni les animations (on notera que le cas inverse existe, mais qu'il est extrêmement rare).
La technique basée sur cette dernière distinction constitue à notre avis le moins mauvais choix. On la pratique en introduisant le fichier journal dans une base de données, et en utilisant des requêtes spécifiques pour isoler les demandes des internautes de celles des robots. Depuis quelques années, divers auteurs attirent l'attention sur le fait que cette méthode (basée sur les accès) donne des résultats systématiquement inférieurs à la réalité. En effet, la requête d'un internaute peut parfois être satisfaite par une mémoire cache, et non par le serveur web lui-même, et que de ce fait elle ne laisse pas de traces dans le fichier journal. L'erreur qui en résulte a été chiffrée de manière extrêmement variable (entre 0 et 50 %), à partir de simulations plus ou moins représentatives de la réalité. La défiance vis à vis de la mesure d'audience basée sur la simple analyse des fichiers log ne cesse de croître depuis quelques années.
Mais cette solution possède ces limite est plus particulièrement concernant le cache. Lorsqu'un internaute formule une requête ("je veux voir une page web dont voici l'URL"), cette dernière peut être satisfaite par le serveur web concerné ou par un dispositif contenant déjà ladite page dans sa mémoire cache (on dit aussi "son cache"). Un tel dispositif peut être :
- Le navigateur lui-même, qui met en cache toutes les informations qu'il reçoit,
- Un serveur proxy, qui relaie les requêtes de navigateurs dépendant de lui (les fournisseurs d'accès utilisent tous un serveur proxy),
- Un web-cache, dispositif de mémoire cache à grande échelle, placé à des endroits stratégiques du réseau Internet,
- Le serveur web lui-même,
- La mémoire cache d'un moteur de recherche, si la page demandée provient d'une requête adressée à ce dernier.
Il est donc possible que la requête de l'internaute soit satisfaite sans que le serveur web en soit averti. La consultation de la page web correspondante n'induira aucune inscription dans le fichier journal.
Marqueurs HTML
Afin de palier au problème de cache une solution consiste à utiliser des marqueurs, dispositif qui signale au serveur que la page est requise par l'internaute. Le marqueur peut prendre différentes formes :
- Une image dont la durée de validité est déclarée nulle en tête du paquet qui la transporte. Ce marqueur est le plus simple et le plus utilisé,
- Un script côté client,
- Une combinaison d'image et de cookie.
Le script côté client (généralement écrit en javascript) permet non seulement de mesurer l'audience d'une page web, mais aussi de déterminer quels sont les réglages utilisés par l'internaute en matière de résolution d'écran et de profondeur de couleur. C'est grâce à ce procédé que l'on peut suivre la disparition progressive des affichages médiocres chez les internautes -- résolution VGA (640 x 480) et faible profondeur de couleur (256).
La combinaison d'image et de cookie semble utilisée uniquement pour déterminer le nombre de "visites", une notion assez arbitraire, et dont l'utilité parait discutable. Un internaute qui ne se manifeste plus pendant au moins 20 (ou 30) minutes est censé avoir terminé sa "visite".
Mais le marqueur de loin le plus utilisé est l'image de durée de validité nulle. Dans l'en-tête d'un paquet IP, la durée de validité des informations véhiculées est effectivement inscrite, et les caches (sauf réglage contraire assez rare) ne conservent pas d'information immédiatement périssable. Cependant, déclarer nulle la durée de validité de toutes les pages d'un site web, pour éviter qu'elles ne soient mises en cache, est considéré comme contraire à la déontologie du web. Si tout les webmestres agissaient ainsi, les caches ne serviraient plus à rien, ce qui augmenterait la charge du réseau Internet, et ralentirait inutilement les navigateurs. C'est pourquoi on attribue une durée de validité nulle à un seul élément de la page, une petite image appelée "image de comptage". On utilise en général une image monopixel transparente, ou de même couleur que le fond de page. Elle ne modifie en rien l'aspect de la page, elle est légère à transporter (elle pèse 43 octets, et la taille du paquet IP correspondant varie de 140 à 260 octets). Cette technique est utilisée par un nombre croissant d'organismes spécialisés dans la mesure d'audience des pages web, afin de déterminer le taux de rémunération des bandeaux publicitaires, ou de fournir des statistiques aux webmestres. La tendance récente consiste à placer l'image en bas de page web, pour éliminer du comptage les cas où l'internaute quitte rapidement la page, avant qu'elle ne soit complètement affichée.
L'utilisation de marqueurs même si répond au problème du cache n'est pas sans quelques défauts:
- L'image de comptage n'étant pas placée en tout début de page, l'accès n'est pas compté si l'internaute se ravise et quitte la page rapidement. Sauf effet de cache, la page est par contre enregistrée dans le fichier log,
- Introduire une image de comptage dans chaque page web d'un site qui en comporte des centaines n'est pas une sinécure,
- Les internautes qui naviguent sans demander les images (pour aller plus vite lorsque le réseau Internet est encombré) sont décomptés comme des robots, quelle que soit la méthode utilisée. Ils sont, heureusement, de plus en plus rares,
- La méthode ne s'applique pas aux pages dont le format est différent du HTML. C'est en particulier le cas des pages PDF, qui doivent être décomptées à part. Les pages dynamiques (générées à la volée par le serveur) posent également un problème particulier,
- Quelques fournisseurs d'accès (le plus connu étant AOL) perturbent fortement la mesure d'audience par image de comptage. On a beaucoup mis en cause le serveur proxy correspondant, mais le problème semble provenir plutôt du serveur DHCP, qui change fréquemment l'URL du client en cours de session,
- La présence d'une image qui ne sert apparemment à rien inquiète certains internautes.
Il peut donc arriver que le comptage par image donne un résultat moindre que le comptage par accès.
Les tests de performance
Certaines mesures sont de bons indicateurs de la performance d'un web serveur et d'application client-serveur en général. Ces indicateurs sont d'autant plus important qu'il sont en quelques sortes une vue exhaustive du comportement fasse à un accès au site. Il ne va donc pas à ce titre déceler une éventuelle erreur au niveau de l'ergonomie ou des fonctionnalités mais renvoyer des informations sur l'architecture technique utilisée. Voici les quelques mesures les plus couramment effectuées :
- Nombre de requêtes /minute,
- Nombre maximum de requêtes /minute,
- Analyse du temps passé sur le serveur,
- Temps de réponse moyen,
- Analyse du temps passé lors d'une réponse à une requête.
Nombre de requêtes /minute :
Le nombre de requêtes/minute représentent le nombre de requêtes que la plate-forme peut gérer par minute. Généralement, le nombre de requêtes par minute est représenté comme une fonction du nombre de clients.
Cet indicateur fournit un moyen de déterminer la stabilité d'une plate-forme. Quand le nombre de clients augmente le nombre de requêtes augmente et atteint une valeur limite. Cette stabilité est assurée si le cette valeur limite est atteinte et si le nombre de requêtes conserve cette valeur limite même si le nombre de client augmente, sinon cette plate-forme n'est pas considérée stable.
Nombre maximum de requêtes /minute :
Le nombre maximum de requêtes par minute est la valeur limite qui peut être atteinte par l'application lors du traitement des requêtes
Analyse du temps passé sur le serveur :
L'Analyse du temps passé sur le serveur, est l'analyse du temps passé dans les différentes couches de l'application
Temps de réponse moyen :
Le temps de réponse moyen est la moyenne des durées entre la soumission d'une requête et la fin d'exécution de cette requête.
Analyse du temps passé lors d'une réponse à une requête :
L'analyse du temps passé lors d'une réponse à une requête est l'analyse du temps passé dans les différentes couches de l'application lors d'une réponse à une requête.
Les liens utiles
Mesure d'audience
- http://www.commentcamarche.net/web/mesure-audience.php3
- http://cerig.efpg.inpg.fr/dossier/analyse-trafic/page01.htm
- http://www.gratuit-fr.com/Outils_pour_sites/Statistiques/
- http://www.webmaster-experience.net/article-article-5.html