SAE : Traitement et Analyse de Données Web (Apache Logs)
Des logs Apache bruts, parfois plusieurs centaines de milliers de lignes. Un script Python pour tout parser, extraire les métriques utiles et générer des graphiques automatiquement.
1. Le Défi — Analyse des Logs Serveur
Les logs Apache s'accumulent vite. L'idée : écrire un script capable de les lire, de calculer des métriques utiles (répartition navigateurs, pics de connexion), et de sortir des graphiques sans intervention manuelle.
Objectifs Clés
- Extraction — Lire et filtrer les données pertinentes des logs d'accès.
- Visualisation — Camembert navigateurs + histogramme connexions jour/semaine.
- Automatisation — Gestion via arguments CLI (argparse).
- Qualité — Tests unitaires et documentation Sphinx.
2. La Solution Technique
Package Python modulaire — logique métier isolée en modules pour faciliter les tests unitaires.
- Python 3.7+ — Parsing de fichiers logs Apache.
- Matplotlib — Génération des graphiques PNG.
- Unit Testing — Répertoire
tests/pour valider chaque fonction. - Sphinx — Documentation technique générée depuis docstrings.
- Git — Versionnement avec arborescence standard.
Commande d'Exécution
python3 statistiques-connexions-apache/main.py \
-p data/access.laii.log.8 data/access.laii.log.9 \
-d /home/papito/Documents/output/
3. Résultats & Compétences
- Script fonctionnel — Parsing complet, graphiques générés automatiquement, tests unitaires qui passent.
- Matplotlib maîtrisé — Camembert navigateurs, histogramme hebdomadaire — depuis des données brutes.
- Code propre — Architecture modulaire, tests unitaires, doc Sphinx générée depuis les docstrings.
- Leçon retenue — Les données réelles ne sont jamais au bon format. La robustesse du parsing, ça se construit avec des tests.