""" Module de base pour les checkers. Définit la classe abstraite BaseChecker et le dataclass CheckResult utilisés par tous les checkers. """ from abc import ABC, abstractmethod from dataclasses import dataclass from typing import Any @dataclass class CheckResult: """ Résultat d'une vérification. Attributes: success: True si la vérification a réussi, False sinon. message: Message décrivant le résultat. response_time: Temps de réponse en millisecondes (None si échec). details: Informations supplémentaires (optionnel). """ success: bool message: str response_time: float | None = None details: dict[str, Any] | None = None class BaseChecker(ABC): """ Classe abstraite de base pour tous les checkers. Chaque checker doit hériter de cette classe et implémenter la méthode check(). Attributes: name: Nom du checker (pour l'affichage). config: Configuration du checker (depuis le fichier YAML). """ def __init__(self, name: str, config: dict): """ Initialise le checker. Args: name: Nom du checker. config: Dictionnaire de configuration. """ self.name = name self.config = config @abstractmethod def check(self) -> CheckResult: """ Exécute la vérification. Returns: CheckResult contenant le résultat de la vérification. """ pass