slam:analyse_de_donnees_non_structurees

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam:analyse_de_donnees_non_structurees [2025/02/06 08:50] – [Consignes] dthevenotslam:analyse_de_donnees_non_structurees [2025/02/06 22:13] (Version actuelle) – [Consignes] dthevenot
Ligne 1: Ligne 1:
 +~~SLIDESHOW~~
 ====== Cas pratique ====== ====== Cas pratique ======
- 
 Lecture de fichiers texte bruts et extraction d'informations via des outils simples comme grep ou PHP(avec expressions régulières) : **Analyse de Logs Serveur avec PHP et Expressions Régulières** Lecture de fichiers texte bruts et extraction d'informations via des outils simples comme grep ou PHP(avec expressions régulières) : **Analyse de Logs Serveur avec PHP et Expressions Régulières**
  
-===== Objectif ===== +===== Objectif  =====
 Voius allez analyser un fichier de logs serveur (format Apache, Nginx, ou autre) en utilisant PHP et les expressions régulières. Vous devrez extraire des informations spécifiques comme les adresses IP, les codes de réponse HTTP, et les URLs demandées. Voius allez analyser un fichier de logs serveur (format Apache, Nginx, ou autre) en utilisant PHP et les expressions régulières. Vous devrez extraire des informations spécifiques comme les adresses IP, les codes de réponse HTTP, et les URLs demandées.
  
-===== Contexte ===== +===== Contexte  =====
 Un site web génère un fichier de logs où chaque ligne contient des informations sur une requête effectuée par un utilisateur. Ces logs sont essentiels pour analyser le trafic, détecter des erreurs ou repérer des comportements suspects. Un site web génère un fichier de logs où chaque ligne contient des informations sur une requête effectuée par un utilisateur. Ces logs sont essentiels pour analyser le trafic, détecter des erreurs ou repérer des comportements suspects.
  
 **Exemple d'une ligne de log Apache :** **Exemple d'une ligne de log Apache :**
 +=====  =====
 192.168.1.10 - - [05/Feb/2025:10:15:32 +0100] "GET /index.php HTTP/1.1" 200 5320 192.168.1.10 - - [05/Feb/2025:10:15:32 +0100] "GET /index.php HTTP/1.1" 200 5320
  
Ligne 22: Ligne 20:
   * 5320 → Taille de la réponse en octets   * 5320 → Taille de la réponse en octets
  
-===== Objectifs du cas pratique ===== +===== Objectifs du cas pratique  =====
   * Charger un fichier de logs en PHP : [[https://drive.google.com/file/d/1159hXGScDcxLvoYV5fZTTDKbolEPvW6b/view?usp=drive_link|access.log]]   * Charger un fichier de logs en PHP : [[https://drive.google.com/file/d/1159hXGScDcxLvoYV5fZTTDKbolEPvW6b/view?usp=drive_link|access.log]]
   * Extraire :   * Extraire :
Ligne 31: Ligne 28:
  
 ===== Consignes ===== ===== Consignes =====
- +  * Ouvrir et lire le fichier ligne par ligne avec **fopen()** et **fgets()**
-  * Ouvrir et lire le fichier ligne par ligne avec fopen() et fgets(). +  * Utiliser **preg_match()** pour extraire les IP, les URLs et les codes HTTP. 
-  * Utiliser preg_match() pour extraire les IP, les URLs et les codes HTTP. +  * Stocker et compter les occurrences avec un [[https://www.pierre-giraud.com/php-mysql-apprendre-coder-cours/tableau-associatif/|tableau associatif]] (array_count_values()). 
-  * Stocker et compter les occurrences avec un tableau associatif (array_count_values()).+=====  =====
   * Afficher les résultats sous forme de statistiques :   * Afficher les résultats sous forme de statistiques :
     * Nombre total de requêtes     * Nombre total de requêtes
-    * Liste des IP uniques +    * Liste des IP uniques avec leur fréquence 
-    * Top 5 des pages les plus demandées+    * pages demandées et leur fréquence
     * Répartition des codes HTTP     * Répartition des codes HTTP
 +=====  =====
 **Exemple d'algorithme attendu ** **Exemple d'algorithme attendu **
   - Lire le fichier ligne par ligne   - Lire le fichier ligne par ligne
Ligne 47: Ligne 44:
   - Analyser les données (compter les occurrences)   - Analyser les données (compter les occurrences)
   - Afficher les résultats sous forme de statistiques   - Afficher les résultats sous forme de statistiques
 +=====  =====
 **Méthodologie** **Méthodologie**
   - fichier de log [[https://drive.google.com/file/d/1159hXGScDcxLvoYV5fZTTDKbolEPvW6b/view?usp=drive_link|access.log]] fourni   - fichier de log [[https://drive.google.com/file/d/1159hXGScDcxLvoYV5fZTTDKbolEPvW6b/view?usp=drive_link|access.log]] fourni
   - fichier à compléter [[https://drive.google.com/file/d/1C-HCsp4Y8UHCZUX3BOKzctnxm7kk1eJp/view?usp=drive_link|analyseLogAFaire.php]] fourni   - fichier à compléter [[https://drive.google.com/file/d/1C-HCsp4Y8UHCZUX3BOKzctnxm7kk1eJp/view?usp=drive_link|analyseLogAFaire.php]] fourni
   - récupérer les 2 fichiers, les mettre sur votre serveur php dans un dossier **donnees**   - récupérer les 2 fichiers, les mettre sur votre serveur php dans un dossier **donnees**
-  - comprendre le code fourni, notamment la fonction preg_match utilisée +  - comprendre le code fourni, notamment la fonction **preg_match** ([[Aide preg_match]]) utilisée 
-  - compléter le code et tester+  - que fait le code actuel ? que manque t'il ? 
 +  - commenter, compléter le code et tester
  • slam/analyse_de_donnees_non_structurees.1738828256.txt.gz
  • Dernière modification : 2025/02/06 08:50
  • de dthevenot