/home2/mshostin/.trash/checker.py
import requests
import csv
from datetime import datetime

# --- Nom du fichier source contenant les tests ---
fichier_source = "donnees_test.csv"

# --- Nom du fichier CSV de sortie ---
fichier_log = f"rapport_connexion_{datetime.now().strftime('%Y%m%d_%H%M%S')}.csv"

print(f"\nChargement des données depuis {fichier_source}...\n")

# Charger les données depuis le fichier externe
tests = []
with open(fichier_source, mode="r", encoding="utf-8") as file:
    reader = csv.reader(file)
    for row in reader:
        if len(row) != 3:
            print(f"Ligne ignorée (format incorrect) : {row}")
            continue
        site, login, password = row
        tests.append({
            "site": site.strip(),
            "login": login.strip(),
            "password": password.strip()
        })

# Création du fichier CSV de log
with open(fichier_log, mode="w", newline="", encoding="utf-8") as file:
    writer = csv.writer(file)
    writer.writerow(["Site", "Login", "Password", "Status", "HTTP_Code"])

print("=== DÉBUT DES TESTS ===\n")

# Traitement des tests
for test in tests:
    url = test["site"]
    data = {"username": test["login"], "password": test["password"]}

    print(f"Test → {test['login']} @ {url}")

    try:
        response = requests.post(url, data=data)
        http_code = response.status_code

        if http_code == 200:
            status = "OK"
            print(f"  ✓ Réussi")
        else:
            status = "FAIL"
            print(f"  ✗ Échec (code {http_code})")

    except Exception as e:
        status = f"ERREUR: {e}"
        http_code = None
        print(f"  ⚠️ Erreur : {e}")

    # Log CSV
    with open(fichier_log, mode="a", newline="", encoding="utf-8") as file:
        writer = csv.writer(file)
        writer.writerow([url, test["login"], test["password"], status, http_code])

print(f"\n=== FIN DES TESTS ===\nRapport généré : {fichier_log}\n")