Projet Internet/Visualisation 1997

Statistiques par Rémi PIRO & Fabien ROULET.




Le but de notre projet était de représenter les accès au serveur http de l'essi sous forme tridimensionnelle.

Pour cela, on a récupéré les données qui nous intéressaient des fichiers de log de l'ESSI sur une semaine (jour, accès par heure, pays visiteur).

Exemple de fichier de log de l'essi.

Exemple du fichier créé.

Le fichier que l'on a créé comporte sur la première ligne le dernier jour analysé de la semaine. Il y a ensuite le nombre de pays différents qui ont visités l'ESSI, puis leur liste terminée par STOP. Enfin, il y a les pays avec leur nombre d'accès total et les accès par heure de chaque jour de la semaine prise en compte.

Les pays sont classés par ordre alphabétique. Seules les requêtes GET avec un code retour 200 (OK) sont prises en compte. Le terme générique IP concerne les pays enregistrés dans le fichier de log sous une adresse IP.

La page de statistique comporte un SSI qui va construire les options de la FORM (les pays dont on veut visualiser les accès et les jours de ces accès). Pour tout comprendre, c'est ici.

Lorsque l'on clique sur GO, un script CGI construit un fichier VRML2.0 qu'il renvoit au client avec les options demandées. Des nuances de couleurs différentes sont utilisées pour visualiser chaque tranche horaire, les pays sont alternativement clairs puis sombres et plus un pic est élevé, plus la couleur est claire.

Représenter ces données sous forme 3D n'est pas évident et il faut parfois tourner le graphique pour bien s'apercevoir du nombre des accès.

Différents programmes sont utilisés :

  • Le prétraitement du fichier de log se fait avec parse. Il utilise un arbre de recherche qui classe les pays par ordre alphabétique. La ligne de commande est parse jour mois nom_fich où jour et mois représentent la date qui correspond au dernier jour de la semaine considérée. Pour avoir les statistiques mises à jour, il faudrait lancer parse chaque matin. Il écrit les données dans un fichier result.log. Si ce fichier existe déjà, il ajoute les données au fichier existant (à l'ESSI, les données sur une semaine sont parfois contenues dans 2 fichiers de log différents). Attention, avant de lancer parse quotidiennement, il faut effacer le fichier result.log.
  • Il y a aussi un script CGI qui génère le formulaire dans la page HTML de présentation. Il récupère les données concernant les pays et les jours dans le fichier result.log.
  • Enfin, il y a un script CGI qui génère le fichier VRML2.0 avec un autre arbre de recherche qui classe les données suivant leur nombre d'accés.
    Pour récupérer tout ceci : projet.tar.gz.

    Après avoir récupéré tout ceci, il faut mettre ce qu'il y a dans le répertoire projet/cgi dans le répertoire cgi-bin du serveur.