"""
Configuration locale pour le développement.
Ce fichier est conçu pour être utilisé en local après téléchargement du projet.
"""

import os
from config import Config

class LocalConfig(Config):
    """Configuration pour le développement local"""
    
    # Activer le mode debug pour rechargement automatique
    DEBUG = True
    
    # Utiliser SQLite en local
    SQLALCHEMY_DATABASE_URI = "sqlite:///gmpl.db"
    
    # Désactiver le suivi des modifications SQLAlchemy (pour éviter les avertissements)
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    
    # Activer la journalisation pour le débogage
    SQLALCHEMY_ECHO = False  # Mettre à True pour voir les requêtes SQL
    
    # Configuration pour les uploads d'images
    # Le dossier d'upload sera créé s'il n'existe pas
    UPLOAD_FOLDER = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static', 'uploads')
    
    # Taille maximale des fichiers (8 MB)
    MAX_CONTENT_LENGTH = 8 * 1024 * 1024
    
    # Configuration de sécurité
    # Pour le développement, on utilise une clé simple (à changer en production)
    SECRET_KEY = "gmpl_development_secret_key"
    
    # Configuration pour l'affichage des images
    # Ajouter un paramètre de timestamp aux URLs d'images pour forcer le rechargement
    IMAGE_CACHE_BUSTING = True
    
    # Chemin d'accès à la base de données pour SQLite
    SQLALCHEMY_DATABASE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'instance', 'gmpl.db')
    
    # Configuration pour le serveur de développement Flask
    HOST = '0.0.0.0'  # Autorise l'accès depuis toutes les interfaces
    PORT = 5000
    
    # Configuration pour le watcher de modifications
    WATCH_ENABLED = True
    WATCH_FOLDERS = [
        os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static', 'uploads'),
        os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static', 'img'),
        os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static', 'css'),
        os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static', 'js'),
        os.path.join(os.path.dirname(os.path.abspath(__file__)), 'templates')
    ]
    WATCH_INTERVAL = 2  # secondes