import firebase_admin from firebase_admin import credentials, firestore, storage import os import json from dotenv import load_dotenv from .config import settings # Charger les variables d'environnement load_dotenv() def get_firebase_app(): if not firebase_admin._apps: try: firebase_credentials = os.getenv("FIREBASE_CREDENTIALS") if not firebase_credentials: raise ValueError("FIREBASE_CREDENTIALS environment variable is not set") cred_dict = json.loads(firebase_credentials) cred = credentials.Certificate(cred_dict) return firebase_admin.initialize_app(cred, { 'storageBucket': settings.STORAGE_BUCKET }) except Exception as e: print(f"Firebase initialization error: {str(e)}") raise return firebase_admin.get_app() def get_firestore_db(): get_firebase_app() return firestore.client() def get_storage_bucket(): get_firebase_app() return storage.bucket() # Créer des instances uniques db = get_firestore_db() bucket = get_storage_bucket()