From fe6d1865d9e3da457dabdb24b408b230be44d865 Mon Sep 17 00:00:00 2001 From: Hajar MEZOUAR Date: Thu, 21 May 2026 10:49:38 +0200 Subject: [PATCH 1/3] fix: correction des bugs Python API Flask --- config.json | 2 +- python-api/app.py | 10 +++++++--- python-api/requirements.txt | 3 ++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/config.json b/config.json index b18c09b..c62f739 100644 --- a/config.json +++ b/config.json @@ -3,7 +3,7 @@ "promotion": "DevSecOps Azure — Simplon", "apprenants": [], "api": { - "port": 50001, + "port": 5000, "host": "localhost", "route": "/api/logs", "log_file": "server.log" diff --git a/python-api/app.py b/python-api/app.py index 2505f77..398087d 100644 --- a/python-api/app.py +++ b/python-api/app.py @@ -15,7 +15,8 @@ # ------------------------------------------------------- # BUG 2 — Il manque un caractère essentiel à la fin de cette ligne -def parse_logs(filepath) +# DEBUG : correction de syntaxe en ajoutant ":" +def parse_logs(filepath): erreurs = [] warnings = [] infos = [] @@ -27,8 +28,9 @@ def parse_logs(filepath) continue # BUG 3 — Le nom de la variable utilisée ici ne correspond pas # à celle déclarée plus haut dans cette fonction + #DEBUG : correction "erreurs"-le nom de la variable déclaré- au lieu de "errors" if "ERROR" in line: - errors.append(line) + erreurs.append(line) elif "WARNING" in line: warnings.append(line) elif "INFO" in line: @@ -47,11 +49,13 @@ def parse_logs(filepath) def get_logs(): # BUG 4 — La variable passée en argument n'est définie nulle part # Quel fichier de logs doit-on analyser ? - result = parse_logs(log_file) + # DEBUG : # Lecture du fichier de logs défini dans la configuration partagée "server.log" + result = parse_logs(config["api"]["log_file"]) return jsonify(result), 200 if __name__ == "__main__": # Le port est chargé depuis config.json # BUG 5 — Le port est défini dans config.json — est-il correct ? + # DEBUG : le port est 5000 au lieu de 50001 app.run(debug=True, port=config["api"]["port"]) diff --git a/python-api/requirements.txt b/python-api/requirements.txt index b6f3435..f7bda1b 100644 --- a/python-api/requirements.txt +++ b/python-api/requirements.txt @@ -1,2 +1,3 @@ # BUG 1 — Le nom du paquet ci-dessous est incorrect. Lisez attentivement. -flaskk==3.0.0 +# DEBUG : "flask" au lieu de "flaskk" +flask==3.0.0 From 0414920a9678857ac6470b0c43fc09aa6424bfae Mon Sep 17 00:00:00 2001 From: Hajar MEZOUAR Date: Thu, 21 May 2026 11:03:24 +0200 Subject: [PATCH 2/3] fix: sppression des commentaires inutiles --- python-api/app.py | 10 ---------- python-api/requirements.txt | 2 -- 2 files changed, 12 deletions(-) diff --git a/python-api/app.py b/python-api/app.py index 398087d..3d371c6 100644 --- a/python-api/app.py +++ b/python-api/app.py @@ -14,8 +14,6 @@ # le nombre d'erreurs, warnings et infos détectés. # ------------------------------------------------------- -# BUG 2 — Il manque un caractère essentiel à la fin de cette ligne -# DEBUG : correction de syntaxe en ajoutant ":" def parse_logs(filepath): erreurs = [] warnings = [] @@ -26,9 +24,6 @@ def parse_logs(filepath): line = line.strip() if not line: continue - # BUG 3 — Le nom de la variable utilisée ici ne correspond pas - # à celle déclarée plus haut dans cette fonction - #DEBUG : correction "erreurs"-le nom de la variable déclaré- au lieu de "errors" if "ERROR" in line: erreurs.append(line) elif "WARNING" in line: @@ -47,15 +42,10 @@ def parse_logs(filepath): @app.route("/api/logs", methods=["GET"]) def get_logs(): - # BUG 4 — La variable passée en argument n'est définie nulle part - # Quel fichier de logs doit-on analyser ? - # DEBUG : # Lecture du fichier de logs défini dans la configuration partagée "server.log" result = parse_logs(config["api"]["log_file"]) return jsonify(result), 200 if __name__ == "__main__": # Le port est chargé depuis config.json - # BUG 5 — Le port est défini dans config.json — est-il correct ? - # DEBUG : le port est 5000 au lieu de 50001 app.run(debug=True, port=config["api"]["port"]) diff --git a/python-api/requirements.txt b/python-api/requirements.txt index f7bda1b..5bd19d3 100644 --- a/python-api/requirements.txt +++ b/python-api/requirements.txt @@ -1,3 +1 @@ -# BUG 1 — Le nom du paquet ci-dessous est incorrect. Lisez attentivement. -# DEBUG : "flask" au lieu de "flaskk" flask==3.0.0 From 60cc4d3a86de01e04ca24248165a541da639009d Mon Sep 17 00:00:00 2001 From: Hajar MEZOUAR Date: Thu, 21 May 2026 11:53:04 +0200 Subject: [PATCH 3/3] fix: correct axios import and API response handling --- node-client/app.js | 14 +++----------- node-client/package.json | 2 +- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/node-client/app.js b/node-client/app.js index 6fbf5cf..874ece8 100644 --- a/node-client/app.js +++ b/node-client/app.js @@ -2,23 +2,15 @@ // ----------------------------------------------------------------- const path = require('path'); - -// Configuration partagée chargée depuis config.json (à la racine du projet) -// BUG 5 (suite) — Si l'API Python ne répond pas, vérifiez le port dans config.json const config = require(path.join(__dirname, '..', 'config.json')); const API_URL = `http://${config.api.host}:${config.api.port}${config.api.route}`; -// BUG 6 — Le nom du module importé ici est incorrect -const axioss = require('axioss'); +const axios = require('axios'); async function getLogs() { try { - const response = await axioss.get(API_URL); - - // BUG 7 — La propriété pour accéder au corps de la réponse avec axios - // ne s'appelle pas .body — cherchez dans la doc axios comment - // accéder aux données de la réponse - const data = response.body; + const response = await axios.get(API_URL); + const data = response.data; console.log('\n========================================'); console.log(' RAPPORT D\'ANALYSE DES LOGS AZURE '); diff --git a/node-client/package.json b/node-client/package.json index ea94ac5..84280d9 100644 --- a/node-client/package.json +++ b/node-client/package.json @@ -7,6 +7,6 @@ "start": "node app.js" }, "dependencies": { - "axioss": "^1.6.0" + "axios": "^1.6.0" } }