
    dIic                         d dl Z d dlmZ d dlmZ  e              G d d          Z G d de          Z G d d	e          ZdS )
    N)	timedelta)load_dotenvc                      e Zd Zej                            dd          Zej                            d          Zesedk    r ed          dZ e	d            e
e          Z ee          dk     redk    r ed	           e	d
           ej                            d          Zer,e                    d          re                    ddd          Zedk    r.es ed          de                                v r ed          epdZdZddddddZej                            dd          Z eej                            dd                    Zej                            dd                                          d v Zej                            d!          Zej                            d"          Zej                            d#d$          Zedk    reres e	d%           ej                            d&          Zej                            d'          Zedk    reres ed(          esd)Zesd*ZdZdZedk    Zedk    Z dZ!d+Z" e#d,-          Z$dZ%ej                            d.d/          Z&d0Z'd1Z(h d2Z)d3S )4Config	FLASK_ENVdevelopment
SECRET_KEY
productionu>   ⚠️  ERREUR CRITIQUE : SECRET_KEY manquante en production !z0dev-key-insecure-change-me-minimum-32-charactersuV   ⚠️  AVERTISSEMENT : Utilisation d'une SECRET_KEY par défaut (Mode DEV uniquement)    u:   ⚠️ SECRET_KEY trop courte (min 32 chars en production)u4   ⚠️ SECRET_KEY faible détectée (dev uniquement)DATABASE_URLzpostgres://zpostgresql://   u7   ⚠️  ERREUR : DATABASE_URL manquante en production !sqliteuE   ⚠️  ERREUR : SQLite interdit en production ! Utilisez PostgreSQL.z5postgresql://mcyber_user:test123@localhost/mcyber_devFTi  
         )pool_pre_pingpool_recycle	pool_sizemax_overflowpool_timeoutMAIL_SERVERzsmtp-relay.sendinblue.com	MAIL_PORTiK  MAIL_USE_TLSTrue)true1tMAIL_USERNAMEMAIL_PASSWORDMAIL_DEFAULT_SENDERz MCyber Audit <noreply@mcyber.fr>uG   ⚠️  AVERTISSEMENT : Identifiants mail manquants. L'envoi échouera.ADMIN_EMAILADMIN_PASSWORDuD   ⚠️  ERREUR : ADMIN_EMAIL et ADMIN_PASSWORD requis en production.zadmin@dev.localzDevPassword123!Lax   )hours	REDIS_URLz	memory://z200 per houri   >   jpgpdfpngjpegN)*__name__
__module____qualname__osenvirongetr   SECRET_KEY_RAW
ValueErrorprintstrr	   lenr   
startswithreplacelowerSQLALCHEMY_DATABASE_URISQLALCHEMY_TRACK_MODIFICATIONSSQLALCHEMY_ENGINE_OPTIONSr   intr   r   r   r   r    r!   r"   WTF_CSRF_ENABLEDWTF_CSRF_TIME_LIMITWTF_CSRF_SSL_STRICTSESSION_COOKIE_SECURESESSION_COOKIE_HTTPONLYSESSION_COOKIE_SAMESITEr   PERMANENT_SESSION_LIFETIMERATELIMIT_ENABLEDRATELIMIT_STORAGE_URLRATELIMIT_DEFAULTMAX_CONTENT_LENGTHALLOWED_EXTENSIONS     )/var/www/html/MCyber-Diagnostic/config.pyr   r      sJ        
{M::I
 Z^^L11N l$$*P   PNEjkkk^$$J s:$$*YZZZEHIII
 :>>.11L  O//>> O#++M?ANN L   	X*VWWW|))++++*deee + @?  &+" ! ! *..0KLLKBJNN;4455I:>>.&99??AAEWWLJNN?33MJNN?33M*..)>@bccL  - } WXXX
 *..//KZ^^$455NL  + ^ z`aa	a (' +*
 $4&,6"#!*!3!3!3
 JNN;DD&)666rJ   r   c                   &    e Zd ZdZdZdZdZdZdZdS )ProductionConfigu.   Configuration production - Sécurité maximaleFhttpsTN)	r+   r,   r-   __doc__DEBUGTESTINGPREFERRED_URL_SCHEMEr@   r?   rI   rJ   rK   rM   rM   v   s2        88EG" rJ   rM   c                   "    e Zd ZdZdZdZdZdZdS )DevelopmentConfigu   Configuration développementTFhttpN)r+   r,   r-   rO   rP   rQ   r@   rR   rI   rJ   rK   rT   rT      s,        &&EG!!rJ   rT   )r.   datetimer   dotenvr   r   rM   rT   rI   rJ   rK   <module>rX      s    				             k7 k7 k7 k7 k7 k7 k7 k7\    v   " " " " " " " " " "rJ   