import sys
from pathlib import Path

PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
    sys.path.insert(0, str(PROJECT_ROOT))

from backend.app.config import get_settings


def main() -> None:
    settings = get_settings()
    print(f"Environnement : {settings.app_env}")
    print(f"URL publique : {settings.app_base_url}")
    print(f"Écoute locale : {settings.app_host}:{settings.app_port}")
    print("Authentification PostgreSQL : active")
    print(f"Cookie sécurisé HTTPS : {'oui' if settings.session_cookie_secure else 'non'}")
    print(f"Hôtes autorisés : {', '.join(settings.trusted_hosts)}")
    errors = settings.validate_production()
    if errors:
        print("\nConfiguration invalide :")
        for error in errors:
            print(f" - {error}")
        raise SystemExit(1)
    print("\nConfiguration de production valide.")


if __name__ == "__main__":
    main()
