Mode Opératoire Script Python – Script SQL Ce document est un mode opératoire pour pouvoir utiliser le script Python permettant d’insérer les éléments dans la table PROXY. Il décrit les étapes importantes à suivre pour assurer le remplissage automatique de la table. 1 – Fichiers texte et log du Proxy Pour commencer, il est nécessaire d’avoir un (ou plusieurs) fichier(s) texte contenant les différents logs sur le proxy du réseau. Ces fichiers doivent être placés dans un répertoire dont l’adresse est connue et ne comportant pas d’espace pour éviter les éventuels problèmes. 2 – Fonctionnement de Dr Python et du script Une fois cette étape réalisée, lancer le script grâce à un logiciel tel que Dr Python en cliquant sur « Fichier -> Ouvrir ». Dans ce script, il faut modifier l’emplacement du dossier contenant les fichiers texte de log sur le Proxy dans la rubrique « Récupération ». Pour fonctionner avec ce script, les fichiers textes doivent être nommés de la façon suivante : « log_proxy_AAAA/MM/JJ » ; le script généré sera de la forme : « script_AAAA/MM/JJ.sql ». Il ne reste plus qu’à lancer le script. Il faudra renseigner la date du fichier de log que vous souhaitez générer et le script Python le fera automatiquement. Le message « Script généré » s’affiche et vous indique que tout s’est déroulé correctement. Le script SQL s’enregistre dans le même emplacement que celui du fichier texte de log du Proxy. 3 – Le SGBDR Oracle La dernière étape est l’exécution du script SQL dans un SQBDR. Ici, nous verrons le mode opératoire pour Oracle. Il faut ouvrir le script en allant sur « Fichier -> Ouvrir », il s’affiche alors sur la fenêtre en cours. Cliquez sur « Exécutez un script ». Si l’exécution se déroule correctement, le message « N lignes insérés » s’affiche. La table Proxy est désormais remplie. 4 – Test des requêtes SQL Plusieurs requêtes SQL sont proposées pour tester le bon fonctionnement du remplissage des tables : - Nombre d’utilisateurs par sites les plus visités : SELECT COUNT(*) AS NbUtilisateurs, URL FROM PROXY INNER JOIN SALARIES ON IP = AdresseIP GROUP BY URL ORDER BY NbUtilisateurs DESC; Mode Opératoire Script Python – Script SQL - Liste des utilisateurs les plus consommateurs: SELECT S.Num, Nom, Prenom, COUNT(*) AS NbLignes FROM SALARIES S INNER JOIN PROXY P ON P.AdresseIP = S.IP GROUP BY S.Num, Nom, Prenom ORDER BY NbLignes DESC - Historique des recherches : SELECT S.Num, Prenom, Nom, URL, Jour, Heure FROM SALARIES S INNER JOIN PROXY P ON S.IP = P.AdresseIP WHERE Jour = '16/01/14' AND Heure BETWEEN '07:00:00' AND '09:00:00' AND URL LIKE 'http://www.lequipe.fr%' GROUP BY S.Num, Prenom, Nom, URL, Jour, Heure;