1er projet BTS SIO :
Analyse et Gestion des Logs Proxy
Dans un cadre professionnel fictif, la société STESIO a mis en place un proxy pour journaliser les accès Internet des employés, en réponse aux obligations légales. L'objectif était de traiter ces logs afin d'obtenir des statistiques telles que :
Les sites les plus visités par les utilisateurs.
Les utilisateurs les plus actifs sur le réseau.
L’historique des accès, permettant de savoir qui a consulté quel site, quel jour, à quelle heure.
Les fichiers de logs étant volumineux et en format brut (fichiers texte), leur exploitation directe était difficile. L'objectif du projet était donc de développer une solution d'extraction, d'insertion et d'analyse des données dans une base de données.
Nous avons conçu un programme Python capable de :
Lire et extraire les informations essentielles des fichiers logs (IP, date, heure, URL, méthode HTTP).
Générer des scripts SQL pour insérer ces données dans une base de données MariaDB.
Exécuter des requêtes SQL pour produire des statistiques d’analyse et répondre à des demandes spécifiques.
Automatiser le traitement des logs et garantir une extraction efficace des informations.
Un mode opératoire détaillé a également été rédigé, permettant aux administrateurs système de répéter le processus facilement.
Script Python permettant d’anonymiser les utilisateurs tout en conservant un identifiant unique.
Création des tables employes (IP, ID utilisateur) et journaux_acces (date, heure, URL, méthode HTTP, etc.).
Étude du format des logs et identification des données manquantes ou corrompues.
Écriture de requêtes SQL pour vérifier l’intégrité et la cohérence des données insérées.
Développement d’un programme Python pour identifier les URL les plus visitées par utilisateur.
(Non réalisée dans ce projet)
Génération de requêtes INSERT à partir des fichiers logs.
Insertion des données et vérification via des requêtes SQL de test.
Rédaction d’un guide pour faciliter la maintenance et la reprise du projet.
Python : Traitement et automatisation des fichiers logs.
SQL : Création et gestion de la base de données.
Gestion de bases de données : Configuration et exploitation de MariaDB.
Analyse de logs : Structuration et validation des données.
Automatisation : Développement de scripts pour simplifier les traitements.
Réseaux : Compréhension des protocoles HTTP et de l’analyse des connexions.
Documentation : Rédaction d’un mode opératoire pour assurer la pérennité du projet.
Ce projet a été une expérience enrichissante, combinant développement Python, gestion de bases de données et analyse réseau. Il a permis de développer une solution efficace pour traiter de gros volumes de logs et produire des statistiques fiables sur l’utilisation d’Internet.