|
1 | | -# code_source |
2 | | -C - Analysateur de fichiers logs |
| 1 | +# LogBuster |
| 2 | + |
| 3 | +``` |
| 4 | + .-. .-') .-') .-') _ ('-. _ .-') ,---. |
| 5 | + \ ( OO ) ( OO ). ( OO) ) _( OO)( \( -O ) | | |
| 6 | + ,--. .-'),-----. ,----. ;-----.\ ,--. ,--. (_)---\_)/ '._(,------.,------. | | |
| 7 | + | |.-') ( OO' .-. ' ' .-./-') | .-. | | | | | / _ | |'--...__)| .---'| /`. '| | |
| 8 | + | | OO )/ | | | | | |_( O- )| '-' /_) | | | .-') \ :` `. '--. .--'| | | / | || | |
| 9 | + | |`-' |\_) | |\| | | | .--, \| .-. `. | |_|( OO ) '..`''.) | | (| '--. | |_.' || .' |
| 10 | +(| '---.' \ | | | |(| | '. (_/| | \ | | | | `-' /.-._) \ | | | .--' | . '.'`--' |
| 11 | + | | `' '-' ' | '--' | | '--' /(' '-'(_.-' \ / | | | `---.| |\ \ .--. |
| 12 | + `------' `-----' `------' `------' `-----' `-----' `--' `------'`--' '--''--' |
| 13 | +``` |
| 14 | + |
| 15 | +Bienvenue dans le monde de LogBuster, l'outil ultime pour analyser, décortiquer et sauver vos logs Apache des griffes du chaos. Vous avez des logs qui traînent, qui sont indéchiffrables ou tout simplement encombrants ? Pas de panique, LogBuster est là pour les attraper, les analyser et vous offrir des statistiques claires et précises, comme jamais auparavant ! |
| 16 | + |
| 17 | +## 📋 Table des matières |
| 18 | + |
| 19 | +- [👻 Fonctionnalités](#-fonctionnalités) |
| 20 | +- [📦 Installation](#-installation) |
| 21 | +- [🛠️ Utilisation de base](#️-utilisation-de-base) |
| 22 | +- [⚠️ Précautions](#️-précautions) |
| 23 | +- [📖 Documentation](#-documentation) |
| 24 | +- [🧪 Lancer les tests](#-lancer-les-tests) |
| 25 | +- [📜 Licence](#-licence) |
| 26 | + |
| 27 | +## 👻 Fonctionnalités |
| 28 | + |
| 29 | +- 📄 Parsing avancé de logs Apache. |
| 30 | +- 📉 Extraire des statistiques clés. |
| 31 | +- 🗂️ Ranger les données par catégorie. |
| 32 | +- 🧹 Indiquer les erreurs de format avec précision. |
| 33 | +- 🚚 Exporter les données en JSON. |
| 34 | + |
| 35 | +## 📦 Installation |
| 36 | + |
| 37 | +### Bash (linux/macOS) |
| 38 | +```bash |
| 39 | +git clone https://github.com/AnthonyGuillauma/code_source |
| 40 | +cd code_source |
| 41 | +python -m venv .venv |
| 42 | +source .venv/bin/activate # Activation de l'environnement virtuel sous Bash |
| 43 | +pip install -r requirements.txt |
| 44 | +``` |
| 45 | + |
| 46 | +### Windows (cmd) |
| 47 | +```bash |
| 48 | +git clone https://github.com/AnthonyGuillauma/code_source |
| 49 | +cd code_source |
| 50 | +python -m venv .venv |
| 51 | +.venv\Scripts\activate # Activation de l'environnement virtuel sous Windows |
| 52 | +pip install -r requirements.txt |
| 53 | +``` |
| 54 | + |
| 55 | +## 🛠️ Utilisation de base |
| 56 | + |
| 57 | +``` |
| 58 | +python app/main.py chemin_log [-s SORTIE] |
| 59 | +``` |
| 60 | +- `chemin_log` : Le chemin vers le fichier de log Apache à analyser. |
| 61 | +- `-s SORTIE` (optionnel) : Le chemin où sauvegarder les résultats de l'analyse. Si non spécifié, les résultats seront sauvegardés dans un fichier `analyse-log-apache.json`. |
| 62 | + |
| 63 | +## ⚠️ Précautions |
| 64 | + |
| 65 | +Le projet LogBuster utilise des caractères Unicode, tels que des symboles spéciaux, dans le terminal pour rendre l'affichage plus plaisant. Assurez-vous que votre terminal est configuré pour prendre en charge l'affichage de caractères Unicode afin de profiter pleinement de l'expérience utilisateur. |
| 66 | + |
| 67 | +Si vous rencontrez des problèmes d'affichage (comme des symboles manquants ou mal rendus), vous pouvez essayer les solutions suivantes : |
| 68 | + |
| 69 | +- Utiliser un terminal compatible avec Unicode (par exemple, Terminal sous macOS, Windows Terminal sous Windows, ou des terminaux comme GNOME Terminal ou Konsole sous Linux). |
| 70 | +- Vérifier que votre terminal utilise une police qui prend en charge les caractères Unicode (par exemple, DejaVu Sans Mono ou Consolas). |
| 71 | + |
| 72 | +## 📖 Documentation |
| 73 | + |
| 74 | +La documentation complète du code du projet se situe [ici](https://anthonyguillauma.github.io/code_source/ |
| 75 | +). |
| 76 | + |
| 77 | +Si vous souhaitez la générer vous même, suivez ces étapes : |
| 78 | + |
| 79 | +Tout d'abord, placez-vous dans le dossier `docs` qui contient les fichiers sources de la documentation : |
| 80 | + |
| 81 | +```bash |
| 82 | +cd docs |
| 83 | +``` |
| 84 | + |
| 85 | +Puis, générez la documentation via la commande suivante : |
| 86 | + |
| 87 | +```bash |
| 88 | +./make html |
| 89 | +``` |
| 90 | + |
| 91 | +Enfin, ouvrez le fichier html `build/html/index.html` généré dans un navigateur. |
| 92 | + |
| 93 | +## 🧪 Lancer les tests |
| 94 | + |
| 95 | +Les tests unitaires du projet peuvent être exécutés avec pytest. Pour lancer les tests, assurez-vous d'avoir activé l'environnement virtuel et installé les dépendances. |
| 96 | + |
| 97 | +Premièrement, placez-vous dans le dossier `tests` qui contient les fichiers de configuration pour les tests unitaires : |
| 98 | + |
| 99 | +```bash |
| 100 | +cd tests |
| 101 | +``` |
| 102 | + |
| 103 | +Ensuite, exécutez les tests avec la commande suivante : |
| 104 | + |
| 105 | +```bash |
| 106 | +pytest |
| 107 | +``` |
| 108 | + |
| 109 | +Enfin, si vous souhaitez également afficher la couverture des tests unitaires, utilisez la commande suivante : |
| 110 | + |
| 111 | +```bash |
| 112 | +pytest --cov=../app --cov-report=term-missing |
| 113 | +``` |
| 114 | + |
| 115 | +# 📜 Licence |
| 116 | + |
| 117 | +Ce projet est sous licence MIT. |
0 commit comments