From 778ba08d89823e0df5ab572b681a4feb0823a0d8 Mon Sep 17 00:00:00 2001 From: benslimane-byte Date: Thu, 28 May 2026 16:39:59 +0200 Subject: [PATCH 1/4] feat: add initial project files and scripts for log analysis and setup --- README.md | 6 +- fichier.txt | 2 + mon-dossier/config/fichier | 0 mon-dossier/logs/app.log | 22 ++++++ mon-dossier/logs/app.log.bak | 22 ++++++ mon-dossier/logs/fichier | 0 mon-dossier/logs/rapport-20260528-145908.txt | 16 ++++ mon-dossier/readme.txt | 1 + mon-dossier/src/analyse-niveaux.sh | 14 ++++ mon-dossier/src/check-env.sh | 24 ++++++ mon-dossier/src/check-logs.sh | 30 ++++++++ mon-dossier/src/couleurs.sh | 12 +++ mon-dossier/src/fichier | 0 mon-dossier/src/info.sh | 21 ++++++ mon-dossier/src/rapport.sh | 63 ++++++++++++++++ ressources/erreurs.txt | 5 ++ ressources/rapport.txt | 12 +++ setup.sh | 77 ++++++++++++++++++++ 18 files changed, 324 insertions(+), 3 deletions(-) create mode 100644 fichier.txt create mode 100644 mon-dossier/config/fichier create mode 100644 mon-dossier/logs/app.log create mode 100644 mon-dossier/logs/app.log.bak create mode 100644 mon-dossier/logs/fichier create mode 100644 mon-dossier/logs/rapport-20260528-145908.txt create mode 100644 mon-dossier/readme.txt create mode 100644 mon-dossier/src/analyse-niveaux.sh create mode 100644 mon-dossier/src/check-env.sh create mode 100644 mon-dossier/src/check-logs.sh create mode 100644 mon-dossier/src/couleurs.sh create mode 100644 mon-dossier/src/fichier create mode 100644 mon-dossier/src/info.sh create mode 100644 mon-dossier/src/rapport.sh create mode 100644 ressources/erreurs.txt create mode 100644 ressources/rapport.txt create mode 100644 setup.sh diff --git a/README.md b/README.md index 966accd..738135b 100644 --- a/README.md +++ b/README.md @@ -278,7 +278,7 @@ Un script Bash, c'est une suite de commandes enregistrées dans un fichier `.sh` ```bash # Déclarer une variable (pas d'espace autour du =) NOM="NexaCloud" -PORT=5001 +PORT=5001nan # Utiliser une variable (toujours avec $) echo "Projet : $NOM" @@ -353,7 +353,7 @@ Rendez le script exécutable et lancez-le : ```bash chmod +x mon-projet/src/info.sh ./mon-projet/src/info.sh -``` +```cd --- @@ -408,7 +408,7 @@ chmod +x mon-projet/src/check-logs.sh # Modifier check-logs.sh pour utiliser $1 comme chemin du fichier # Appel : ./check-logs.sh ressources/server.log -# Vérifier que l'argument est bien fourni +# Vérifier que l'argument ecdst bien fourni if [ -z "$1" ]; then echo "Usage : $0 " exit 1 diff --git a/fichier.txt b/fichier.txt new file mode 100644 index 0000000..2e0a161 --- /dev/null +++ b/fichier.txt @@ -0,0 +1,2 @@ +Bonjour +Monde diff --git a/mon-dossier/config/fichier b/mon-dossier/config/fichier new file mode 100644 index 0000000..e69de29 diff --git a/mon-dossier/logs/app.log b/mon-dossier/logs/app.log new file mode 100644 index 0000000..d2d2378 --- /dev/null +++ b/mon-dossier/logs/app.log @@ -0,0 +1,22 @@ +2024-01-15 08:00:01 INFO Application started on port 8080 +2024-01-15 08:00:05 INFO Connected to Azure SQL Database successfully +2024-01-15 08:01:22 WARNING High memory usage detected: 78% +2024-01-15 08:02:45 ERROR Failed to connect to Azure Storage: connection timeout +2024-01-15 08:03:10 INFO Request processed: GET /api/health [200] +2024-01-15 08:05:33 ERROR Authentication failed for service account: deploy_svc +2024-01-15 08:06:15 WARNING CPU usage spike detected: 92% +2024-01-15 08:07:42 ERROR Database query timeout after 30s on table: audit_logs +2024-01-15 08:08:00 INFO Retry attempt 1/3 for Azure Storage connection +2024-01-15 08:08:30 INFO Retry attempt 2/3 for Azure Storage connection +2024-01-15 08:09:00 ERROR Max retries exceeded - Azure Storage service unavailable +2024-01-15 08:10:15 WARNING Disk space below threshold: 15% remaining on /dev/sda1 +2024-01-15 08:11:22 INFO Backup job started: daily-backup-2024-01-15 +2024-01-15 08:12:45 ERROR Backup failed: insufficient permissions on /var/backup/azure +2024-01-15 08:14:03 INFO Alert sent to monitoring team via Azure Monitor +2024-01-15 08:15:00 INFO Scheduled maintenance check completed +2024-01-15 08:16:30 WARNING SSL certificate expires in 14 days for api.azuretech.fr +2024-01-15 08:18:00 CRITICAL Database connection pool exhausted — all 20 connections in use +2024-01-15 08:18:55 INFO Kubernetes pod restarted: api-deployment-7d9f8b-xkp2m +2024-01-15 08:19:30 CRITICAL Azure Key Vault unreachable — secrets cannot be retrieved +2024-01-15 08:20:00 INFO Health check passed: all 3 replicas running +2024-01-15 08:21:00 CRITICAL Disk full on /var/log — logging suspended diff --git a/mon-dossier/logs/app.log.bak b/mon-dossier/logs/app.log.bak new file mode 100644 index 0000000..d2d2378 --- /dev/null +++ b/mon-dossier/logs/app.log.bak @@ -0,0 +1,22 @@ +2024-01-15 08:00:01 INFO Application started on port 8080 +2024-01-15 08:00:05 INFO Connected to Azure SQL Database successfully +2024-01-15 08:01:22 WARNING High memory usage detected: 78% +2024-01-15 08:02:45 ERROR Failed to connect to Azure Storage: connection timeout +2024-01-15 08:03:10 INFO Request processed: GET /api/health [200] +2024-01-15 08:05:33 ERROR Authentication failed for service account: deploy_svc +2024-01-15 08:06:15 WARNING CPU usage spike detected: 92% +2024-01-15 08:07:42 ERROR Database query timeout after 30s on table: audit_logs +2024-01-15 08:08:00 INFO Retry attempt 1/3 for Azure Storage connection +2024-01-15 08:08:30 INFO Retry attempt 2/3 for Azure Storage connection +2024-01-15 08:09:00 ERROR Max retries exceeded - Azure Storage service unavailable +2024-01-15 08:10:15 WARNING Disk space below threshold: 15% remaining on /dev/sda1 +2024-01-15 08:11:22 INFO Backup job started: daily-backup-2024-01-15 +2024-01-15 08:12:45 ERROR Backup failed: insufficient permissions on /var/backup/azure +2024-01-15 08:14:03 INFO Alert sent to monitoring team via Azure Monitor +2024-01-15 08:15:00 INFO Scheduled maintenance check completed +2024-01-15 08:16:30 WARNING SSL certificate expires in 14 days for api.azuretech.fr +2024-01-15 08:18:00 CRITICAL Database connection pool exhausted — all 20 connections in use +2024-01-15 08:18:55 INFO Kubernetes pod restarted: api-deployment-7d9f8b-xkp2m +2024-01-15 08:19:30 CRITICAL Azure Key Vault unreachable — secrets cannot be retrieved +2024-01-15 08:20:00 INFO Health check passed: all 3 replicas running +2024-01-15 08:21:00 CRITICAL Disk full on /var/log — logging suspended diff --git a/mon-dossier/logs/fichier b/mon-dossier/logs/fichier new file mode 100644 index 0000000..e69de29 diff --git a/mon-dossier/logs/rapport-20260528-145908.txt b/mon-dossier/logs/rapport-20260528-145908.txt new file mode 100644 index 0000000..4f058e5 --- /dev/null +++ b/mon-dossier/logs/rapport-20260528-145908.txt @@ -0,0 +1,16 @@ +RAPPORT D'ANALYSE — 28/05/2026 14:59 + +--- Compteurs --- +INFO=10 WARNING=4 ERROR=5 CRITICAL=3 + +--- Incidents critiques --- +2024-01-15 08:18:00 CRITICAL Database connection pool exhausted — all 20 connections in use +2024-01-15 08:19:30 CRITICAL Azure Key Vault unreachable — secrets cannot be retrieved +2024-01-15 08:21:00 CRITICAL Disk full on /var/log — logging suspended + +--- Erreurs --- +2024-01-15 08:02:45 ERROR Failed to connect to Azure Storage: connection timeout +2024-01-15 08:05:33 ERROR Authentication failed for service account: deploy_svc +2024-01-15 08:07:42 ERROR Database query timeout after 30s on table: audit_logs +2024-01-15 08:09:00 ERROR Max retries exceeded - Azure Storage service unavailable +2024-01-15 08:12:45 ERROR Backup failed: insufficient permissions on /var/backup/azure diff --git a/mon-dossier/readme.txt b/mon-dossier/readme.txt new file mode 100644 index 0000000..8f4cf5c --- /dev/null +++ b/mon-dossier/readme.txt @@ -0,0 +1 @@ + # Mon projet Bash diff --git a/mon-dossier/src/analyse-niveaux.sh b/mon-dossier/src/analyse-niveaux.sh new file mode 100644 index 0000000..77e30d0 --- /dev/null +++ b/mon-dossier/src/analyse-niveaux.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# analyse-niveaux.sh — Compte chaque niveau de log + +LOG_FILE="ressources/server.log" + +echo "=== Analyse par niveau ===" + +for NIVEAU in INFO WARNING ERROR CRITICAL; do + NB=$(grep -c "$NIVEAU" "$LOG_FILE") + echo " $NIVEAU : $NB occurrence(s)" +done + +echo "==========================" +echo " TOTAL : $(wc -l < "$LOG_FILE") lignes" diff --git a/mon-dossier/src/check-env.sh b/mon-dossier/src/check-env.sh new file mode 100644 index 0000000..ecccf01 --- /dev/null +++ b/mon-dossier/src/check-env.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + +VERT="\033[0;32m" +JAUNE="\033[0;33m" +ROUGE="\033[0;31m" +RESET="\033[0m" + +ok() { echo -e "${VERT}[OK]${RESET} $1"; } +warn() { echo -e "${JAUNE}[WARN]${RESET} $1"; } +err() { echo -e "${ROUGE}[ERR]${RESET} $1"; } + +verifier_commande() { + local cmd="$1" + local name="${2:-$1}" + + if command -v "$cmd" &>/dev/null; then + ok "$name présent" + else + err "$name absent" + fi +} + +echo "=== CHECK ENV ===" diff --git a/mon-dossier/src/check-logs.sh b/mon-dossier/src/check-logs.sh new file mode 100644 index 0000000..f9ae9bf --- /dev/null +++ b/mon-dossier/src/check-logs.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# check-logs.sh — Vérifie l'état des logs et alerte si nécessaire + +LOG_FILE="ressources/server.log" +SEUIL_ERREURS=3 + +if [ ! -f "$LOG_FILE" ]; then + echo "ERREUR : le fichier $LOG_FILE n'existe pas." + exit 1 +fi + +NB_ERREURS=$(grep -c "ERROR" "$LOG_FILE") +NB_CRITIQUES=$(grep -c "CRITICAL" "$LOG_FILE") +NB_WARNINGS=$(grep -c "WARNING" "$LOG_FILE") + +echo "=== Analyse de $LOG_FILE ===" +echo " INFO : $(grep -c "INFO" "$LOG_FILE")" +echo " WARNING : $NB_WARNINGS" +echo " ERROR : $NB_ERREURS" +echo " CRITICAL : $NB_CRITIQUES" +echo "===========================" + +# Vérifier le seuil d'erreurs +if [ $NB_CRITIQUES -gt 0 ]; then + echo "ALERTE CRITIQUE : $NB_CRITIQUES incident(s) critique(s) détecté(s) !" +elif [ $NB_ERREURS -gt $SEUIL_ERREURS ]; then + echo "ATTENTION : $NB_ERREURS erreurs détectées (seuil : $SEUIL_ERREURS)" +else + echo "OK : les logs sont dans les normes." +fi diff --git a/mon-dossier/src/couleurs.sh b/mon-dossier/src/couleurs.sh new file mode 100644 index 0000000..aa3aded --- /dev/null +++ b/mon-dossier/src/couleurs.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +VERT="\033[0;32m" +ROUGE="\033[0;31m" +JAUNE="\033[0;33m" +CYAN="\033[0;36m" +RESET="\033[0m" + +ok() { echo -e "${VERT}[OK]${RESET} $1"; } +info() { echo -e "${CYAN}[INFO]${RESET} $1"; } +warn() { echo -e "${JAUNE}[WARN]${RESET} $1"; } +err() { echo -e "${ROUGE}[ERR]${RESET} $1"; } diff --git a/mon-dossier/src/fichier b/mon-dossier/src/fichier new file mode 100644 index 0000000..e69de29 diff --git a/mon-dossier/src/info.sh b/mon-dossier/src/info.sh new file mode 100644 index 0000000..69c1a07 --- /dev/null +++ b/mon-dossier/src/info.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# info.sh — Affiche des informations sur l'environnement + +NOM_PROJET="NexaCloud" +VERSION="1.1.0" +LOG_FILE="ressources/server.log" + +echo "===============================" +echo " Projet : $NOM_PROJET" +echo " Version : $VERSION" +echo "===============================" + +# Vérifier que le fichier de log existe +if [ -f "$LOG_FILE" ]; then + NB_LIGNES=$(wc -l < "$LOG_FILE") + echo " Log : $LOG_FILE ($NB_LIGNES lignes)" +else + echo " Log : fichier introuvable !" +fi + +echo "===============================" diff --git a/mon-dossier/src/rapport.sh b/mon-dossier/src/rapport.sh new file mode 100644 index 0000000..b4828f4 --- /dev/null +++ b/mon-dossier/src/rapport.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# rapport.sh — Génère un rapport complet avec des fonctions + +LOG_FILE="${1:-ressources/server.log}" +RAPPORT="logs/rapport-$(date +%Y%m%d-%H%M%S).txt" + +# ── Fonctions ───────────────────────────────────── + +afficher_titre() { + echo "===========================================" + echo " $1" + echo "===========================================" +} + +compter_niveau() { + local niveau="$1" + local fichier="$2" + + grep -c "$niveau" "$fichier" 2>/dev/null || echo 0 +} + +ecrire_section() { + local titre="$1" + local contenu="$2" + + echo "" >> "$RAPPORT" + echo "--- $titre ---" >> "$RAPPORT" + echo "$contenu" >> "$RAPPORT" +} + +# ── Script principal ────────────────────────────── + +if [ ! -f "$LOG_FILE" ]; then + echo "Fichier introuvable : $LOG_FILE" + exit 1 +fi + +afficher_titre "RAPPORT D'ANALYSE — $(date '+%d/%m/%Y %H:%M')" + +INFO=$(compter_niveau "INFO" "$LOG_FILE") +WARNING=$(compter_niveau "WARNING" "$LOG_FILE") +ERROR=$(compter_niveau "ERROR" "$LOG_FILE") +CRITICAL=$(compter_niveau "CRITICAL" "$LOG_FILE") + +echo "INFO : $INFO" +echo "WARNING : $WARNING" +echo "ERROR : $ERROR" +echo "CRITICAL : $CRITICAL" + +# Création du rapport +echo "RAPPORT D'ANALYSE — $(date '+%d/%m/%Y %H:%M')" > "$RAPPORT" + +ecrire_section "Compteurs" \ +"INFO=$INFO WARNING=$WARNING ERROR=$ERROR CRITICAL=$CRITICAL" + +ecrire_section "Incidents critiques" \ +"$(grep 'CRITICAL' "$LOG_FILE")" + +ecrire_section "Erreurs" \ +"$(grep 'ERROR' "$LOG_FILE")" + +echo "" +echo "Rapport sauvegardé : $RAPPORT" diff --git a/ressources/erreurs.txt b/ressources/erreurs.txt new file mode 100644 index 0000000..259593d --- /dev/null +++ b/ressources/erreurs.txt @@ -0,0 +1,5 @@ +2024-01-15 08:02:45 ERROR Failed to connect to Azure Storage: connection timeout +2024-01-15 08:05:33 ERROR Authentication failed for service account: deploy_svc +2024-01-15 08:07:42 ERROR Database query timeout after 30s on table: audit_logs +2024-01-15 08:09:00 ERROR Max retries exceeded - Azure Storage service unavailable +2024-01-15 08:12:45 ERROR Backup failed: insufficient permissions on /var/backup/azure diff --git a/ressources/rapport.txt b/ressources/rapport.txt new file mode 100644 index 0000000..0d67b67 --- /dev/null +++ b/ressources/rapport.txt @@ -0,0 +1,12 @@ +=== RAPPORT DE LOGS === +Nombre total de lignes : +Nombre d'erreurs : +Nombre de warnings : +Nombre de critiques : +Nombre total de lignes : +Nombre total de lignes : 22 +Nombre d'erreurs : 5 +Nombre d'erreurs : 5 +Nombre d'erreurs : 5 +Nombre de warnings : 4 +Nombre de critiques : 3 diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..61badc1 --- /dev/null +++ b/setup.sh @@ -0,0 +1,77 @@ +#!/bin/bash +# setup.sh — Prépare le projet NexaCloud en une commande + +set -e + +VERT="\033[0;32m" +ROUGE="\033[0;31m" +JAUNE="\033[0;33m" +CYAN="\033[0;36m" +BOLD="\033[1m" +RESET="\033[0m" + +info() { echo -e "${CYAN}[INFO]${RESET} $1"; } +ok() { echo -e "${VERT}[OK]${RESET} $1"; } +warn() { echo -e "${JAUNE}[WARN]${RESET} $1"; } +err() { echo -e "${ROUGE}[ERR]${RESET} $1"; exit 1; } + +echo "" +echo -e "${BOLD}${CYAN}============================================${RESET}" +echo -e "${BOLD}${CYAN} SETUP NEXACLOUD — $(date '+%d/%m/%Y %H:%M')${RESET}" +echo -e "${BOLD}${CYAN}============================================${RESET}" +echo "" + +info "Vérification des prérequis..." + +command -v python3 >/dev/null || err "Python3 non trouvé" +command -v node >/dev/null || err "Node.js non trouvé" +command -v npm >/dev/null || err "npm non trouvé" + +ok "Prérequis : Python3, Node.js, npm présents" + +info "Installation des dépendances Python..." + +if [ -f "tp-collaboratif-git-dev-starter/python-api/requirements.txt" ]; then + pip install -r tp-collaboratif-git-dev-starter/python-api/requirements.txt --quiet + ok "Dépendances Python installées" +else + warn "Fichier python-api/requirements.txt absent" +fi + +info "Installation des dépendances Node..." + +if [ -f "tp-collaboratif-git-dev-starter/node-client/package.json" ]; then + cd tp-collaboratif-git-dev-starter/node-client && npm install --silent && cd ../.. + ok "Dépendances Node installées" +else + warn "Fichier node-client/package.json absent" +fi + +info "Analyse des logs..." + +LOG="ressources/server.log" + + +if [ -f "$LOG" ]; then + NB_ERR=$(grep -c "ERROR" "$LOG" || true) + NB_CRIT=$(grep -c "CRITICAL" "$LOG" || true) + + ok "Logs analysés : $NB_ERR erreur(s), $NB_CRIT critique(s)" + if [ "$NB_CRIT" -gt 0 ]; then + echo -e "${ROUGE}Incidents critiques détectés${RESET}" + grep "CRITICAL" "$LOG" | while read -r ligne; do + echo -e "${ROUGE} - $ligne${RESET}" + done + fi +else + warn "Fichier de logs absent : $LOG" +fi + +echo "" +echo -e "${BOLD}${VERT}============================================${RESET}" +echo -e "${BOLD}${VERT} SETUP TERMINÉ AVEC SUCCÈS ${RESET}" +echo -e "${BOLD}${VERT}============================================${RESET}" +echo "" +echo " Lancer l'API Python : cd python-api && python3 app.py" +echo " Lancer le client Node: cd node-client && node app.js" +echo "" \ No newline at end of file From 598b027135511fd909206487d258158978dc9a6f Mon Sep 17 00:00:00 2001 From: benslimane-byte Date: Fri, 29 May 2026 09:03:54 +0200 Subject: [PATCH 2/4] feat: add new scripts and log files for enhanced log analysis and reporting --- README.md | 6 +++--- mon-dossier/readme.txt | 1 - {mon-dossier => mon-projet}/config/fichier | 0 {mon-dossier => mon-projet}/logs/app.log | 0 {mon-dossier => mon-projet}/logs/app.log.bak | 0 {mon-dossier => mon-projet}/logs/fichier | 0 .../logs/rapport-20260528-145908.txt | 0 mon-dossier/src/fichier => mon-projet/readme.txt | 0 {mon-dossier => mon-projet}/src/analyse-niveaux.sh | 0 {mon-dossier => mon-projet}/src/check-env.sh | 0 {mon-dossier => mon-projet}/src/check-logs.sh | 0 {mon-dossier => mon-projet}/src/couleurs.sh | 0 mon-projet/src/fichier | 0 {mon-dossier => mon-projet}/src/info.sh | 0 {mon-dossier => mon-projet}/src/rapport.sh | 0 15 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 mon-dossier/readme.txt rename {mon-dossier => mon-projet}/config/fichier (100%) rename {mon-dossier => mon-projet}/logs/app.log (100%) rename {mon-dossier => mon-projet}/logs/app.log.bak (100%) rename {mon-dossier => mon-projet}/logs/fichier (100%) rename {mon-dossier => mon-projet}/logs/rapport-20260528-145908.txt (100%) rename mon-dossier/src/fichier => mon-projet/readme.txt (100%) rename {mon-dossier => mon-projet}/src/analyse-niveaux.sh (100%) rename {mon-dossier => mon-projet}/src/check-env.sh (100%) rename {mon-dossier => mon-projet}/src/check-logs.sh (100%) rename {mon-dossier => mon-projet}/src/couleurs.sh (100%) create mode 100644 mon-projet/src/fichier rename {mon-dossier => mon-projet}/src/info.sh (100%) rename {mon-dossier => mon-projet}/src/rapport.sh (100%) diff --git a/README.md b/README.md index 738135b..966accd 100644 --- a/README.md +++ b/README.md @@ -278,7 +278,7 @@ Un script Bash, c'est une suite de commandes enregistrées dans un fichier `.sh` ```bash # Déclarer une variable (pas d'espace autour du =) NOM="NexaCloud" -PORT=5001nan +PORT=5001 # Utiliser une variable (toujours avec $) echo "Projet : $NOM" @@ -353,7 +353,7 @@ Rendez le script exécutable et lancez-le : ```bash chmod +x mon-projet/src/info.sh ./mon-projet/src/info.sh -```cd +``` --- @@ -408,7 +408,7 @@ chmod +x mon-projet/src/check-logs.sh # Modifier check-logs.sh pour utiliser $1 comme chemin du fichier # Appel : ./check-logs.sh ressources/server.log -# Vérifier que l'argument ecdst bien fourni +# Vérifier que l'argument est bien fourni if [ -z "$1" ]; then echo "Usage : $0 " exit 1 diff --git a/mon-dossier/readme.txt b/mon-dossier/readme.txt deleted file mode 100644 index 8f4cf5c..0000000 --- a/mon-dossier/readme.txt +++ /dev/null @@ -1 +0,0 @@ - # Mon projet Bash diff --git a/mon-dossier/config/fichier b/mon-projet/config/fichier similarity index 100% rename from mon-dossier/config/fichier rename to mon-projet/config/fichier diff --git a/mon-dossier/logs/app.log b/mon-projet/logs/app.log similarity index 100% rename from mon-dossier/logs/app.log rename to mon-projet/logs/app.log diff --git a/mon-dossier/logs/app.log.bak b/mon-projet/logs/app.log.bak similarity index 100% rename from mon-dossier/logs/app.log.bak rename to mon-projet/logs/app.log.bak diff --git a/mon-dossier/logs/fichier b/mon-projet/logs/fichier similarity index 100% rename from mon-dossier/logs/fichier rename to mon-projet/logs/fichier diff --git a/mon-dossier/logs/rapport-20260528-145908.txt b/mon-projet/logs/rapport-20260528-145908.txt similarity index 100% rename from mon-dossier/logs/rapport-20260528-145908.txt rename to mon-projet/logs/rapport-20260528-145908.txt diff --git a/mon-dossier/src/fichier b/mon-projet/readme.txt similarity index 100% rename from mon-dossier/src/fichier rename to mon-projet/readme.txt diff --git a/mon-dossier/src/analyse-niveaux.sh b/mon-projet/src/analyse-niveaux.sh similarity index 100% rename from mon-dossier/src/analyse-niveaux.sh rename to mon-projet/src/analyse-niveaux.sh diff --git a/mon-dossier/src/check-env.sh b/mon-projet/src/check-env.sh similarity index 100% rename from mon-dossier/src/check-env.sh rename to mon-projet/src/check-env.sh diff --git a/mon-dossier/src/check-logs.sh b/mon-projet/src/check-logs.sh similarity index 100% rename from mon-dossier/src/check-logs.sh rename to mon-projet/src/check-logs.sh diff --git a/mon-dossier/src/couleurs.sh b/mon-projet/src/couleurs.sh similarity index 100% rename from mon-dossier/src/couleurs.sh rename to mon-projet/src/couleurs.sh diff --git a/mon-projet/src/fichier b/mon-projet/src/fichier new file mode 100644 index 0000000..e69de29 diff --git a/mon-dossier/src/info.sh b/mon-projet/src/info.sh similarity index 100% rename from mon-dossier/src/info.sh rename to mon-projet/src/info.sh diff --git a/mon-dossier/src/rapport.sh b/mon-projet/src/rapport.sh similarity index 100% rename from mon-dossier/src/rapport.sh rename to mon-projet/src/rapport.sh From 40f1d379a7a7bcf952caea2c2d53274cc265f5ae Mon Sep 17 00:00:00 2001 From: benslimane-byte Date: Fri, 29 May 2026 09:11:18 +0200 Subject: [PATCH 3/4] fix: correct syntax in log checks and improve report section formatting --- mon-projet/src/check-logs.sh | 4 ++-- mon-projet/src/rapport.sh | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/mon-projet/src/check-logs.sh b/mon-projet/src/check-logs.sh index f9ae9bf..a15fd43 100644 --- a/mon-projet/src/check-logs.sh +++ b/mon-projet/src/check-logs.sh @@ -21,9 +21,9 @@ echo " CRITICAL : $NB_CRITIQUES" echo "===========================" # Vérifier le seuil d'erreurs -if [ $NB_CRITIQUES -gt 0 ]; then +if [ "$NB_CRITIQUES"-gt 0 ]; then echo "ALERTE CRITIQUE : $NB_CRITIQUES incident(s) critique(s) détecté(s) !" -elif [ $NB_ERREURS -gt $SEUIL_ERREURS ]; then +elif [ "$NB_ERREURS" -gt "$SEUIL_ERREURS" ]; then echo "ATTENTION : $NB_ERREURS erreurs détectées (seuil : $SEUIL_ERREURS)" else echo "OK : les logs sont dans les normes." diff --git a/mon-projet/src/rapport.sh b/mon-projet/src/rapport.sh index b4828f4..14b6b67 100644 --- a/mon-projet/src/rapport.sh +++ b/mon-projet/src/rapport.sh @@ -22,10 +22,11 @@ compter_niveau() { ecrire_section() { local titre="$1" local contenu="$2" - - echo "" >> "$RAPPORT" - echo "--- $titre ---" >> "$RAPPORT" - echo "$contenu" >> "$RAPPORT" +{ + echo "" + echo "--- $titre ---" + echo "$contenu" + }>> "$RAPPORT" } # ── Script principal ────────────────────────────── From fb9e29131943286275d35458fe0b2b42527ec570 Mon Sep 17 00:00:00 2001 From: benslimane-byte Date: Fri, 29 May 2026 09:16:44 +0200 Subject: [PATCH 4/4] fix: correct syntax error in critical error check condition --- mon-projet/src/check-logs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mon-projet/src/check-logs.sh b/mon-projet/src/check-logs.sh index a15fd43..812c4f2 100644 --- a/mon-projet/src/check-logs.sh +++ b/mon-projet/src/check-logs.sh @@ -21,7 +21,7 @@ echo " CRITICAL : $NB_CRITIQUES" echo "===========================" # Vérifier le seuil d'erreurs -if [ "$NB_CRITIQUES"-gt 0 ]; then +if [ "$NB_CRITIQUES" -gt 0 ]; then echo "ALERTE CRITIQUE : $NB_CRITIQUES incident(s) critique(s) détecté(s) !" elif [ "$NB_ERREURS" -gt "$SEUIL_ERREURS" ]; then echo "ATTENTION : $NB_ERREURS erreurs détectées (seuil : $SEUIL_ERREURS)"