import asyncio import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent)) from database import init_db import logging logging.basicConfig( level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) logger = logging.getLogger(__name__) async def main(): print("\n" + "=" * 60) print("Initialisation de la base de données délocalisée") print("=" * 60 + "\n") try: logger.info("Debut de l'initialisation") await init_db() logger.info("Initialisation terminee") print("\nBase de données créée avec succès !") print("Fichier: sage_dataven.db") print("\nTables créées:") print(" |- email_logs (Journalisation emails)") print(" |- signature_logs (Suivi signatures Universign)") print(" |- workflow_logs (Transformations documents)") print(" |- cache_metadata (Métadonnées cache)") print(" |- audit_logs (Journal d'audit)") print("\nProchaines étapes:") print(" 1. Configurer le fichier .env avec les credentials") print(" 2. Lancer la gateway Windows sur la machine Sage") print(" 3. Lancer l'API VPS: uvicorn api:app --host 0.0.0.0 --port 8000") print(" 4. Ou avec Docker : docker-compose up -d") print(" 5. Tester: http://IP_DU_VPS:8000/docs") print("\n" + "=" * 60 + "\n") return True except Exception as e: print(f"\nErreur lors de l'initialisation: {e}") logger.exception("Détails de l'erreur:") return False if __name__ == "__main__": result = asyncio.run(main()) sys.exit(0 if result else 1)