# ============================================================================== # Configuration d'environnement pour Panoramax (GeoVisio) # ============================================================================== # Copiez ce fichier sous le nom '.env' (dans le dossier /srv/panoramax/) sur votre # serveur de production et renseignez les valeurs appropriées. # ============================================================================== # ------------------------------------------------------------------------------ # 1. Sécurité et Base de données # ------------------------------------------------------------------------------ # Le mot de passe de la base de données PostGIS dédiée de Panoramax. # Doit correspondre à la variable de la base de données pour que l'API et # le worker puissent s'y connecter. DB_PASSWORD=choisissez_un_mot_de_passe_robuste # Clé secrète de Flask utilisée pour signer les sessions et jetons (tokens). # Requis pour générer le jeton d'administration permanent. # Générez une clé robuste avec : openssl rand -hex 32 FLASK_SECRET_KEY=choisissez_une_cle_secrete_aleatoire # ------------------------------------------------------------------------------ # 2. Stockage S3 Privé (OVHcloud Roubaix - rbx) # ------------------------------------------------------------------------------ # Identifiants de l'utilisateur ayant le rôle 'ObjectStore operator' sur OVHcloud. # IMPORTANT : Le bucket S3 doit être configuré en ACCÈS PRIVÉ (non public). AWS_ACCESS_KEY_ID=votre_access_key_id_ovh AWS_SECRET_ACCESS_KEY=votre_secret_access_key_ovh # URL d'accès PyFilesystem vers le stockage S3 d'OVHcloud (Roubaix). # Remplacez 'nom-du-bucket' par le nom de votre bucket S3 privé créé sur OVHcloud. # Notez que le endpoint_url doit être encodé pour l'URL (https%3A%2F%2Fs3.rbx.io.cloud.ovh.net) FS_URL= # ------------------------------------------------------------------------------ # 3. URLs de l'API et Performance (Option B : Liens Privés + Signature) # ------------------------------------------------------------------------------ # URL publique principale de l'API Panoramax. API_PUBLIC_URL= # Avec l'Option B (Sécurité maximale), nous désactivons le service direct de photos # publiques par Panoramax. Nous laissons ces variables commentées. # # C'est StreetUp (Django) qui utilisera les mêmes identifiants AWS ci-dessus pour # générer des URLs de lecture S3 temporaires signées (S3 Presigned URLs) # valables 30 minutes (1800 secondes) pour les utilisateurs connectés. # # API_PERMANENT_PICTURES_PUBLIC_URL= # API_DERIVATES_PICTURES_PUBLIC_URL= # Stratégie de génération des vignettes/tuiles. # 'PREPROCESS' force le picture-worker à précalculer et envoyer toutes les vignettes # sur le S3 dès le versement de la photo par StreetUp. PICTURE_PROCESS_DERIVATES_STRATEGY=PREPROCESS # ------------------------------------------------------------------------------ # 4. Authentification & Sécurité d'écriture # ------------------------------------------------------------------------------ # Désactivation de l'authentification OAuth externe (laissé vide). # Aucun utilisateur externe ne pourra se connecter via navigateur. OAUTH_PROVIDER= # Force l'authentification obligatoire pour tous les téléversements (uploads). # Seul StreetUp, muni du jeton d'administration généré en console, pourra verser # des images et créer des séquences après avoir validé leur qualité. API_FORCE_AUTH_ON_UPLOAD=true # Visibilité par défaut pour les nouvelles images ('anyone', 'logged-only' ou 'owner-only'). # Par défaut, nous utilisons 'anyone' (le catalogue de métadonnées reste accessible # au public), et nous protégeons l'accès direct aux images (S3) au niveau du proxy. API_DEFAULT_PICTURE_VISIBILITY=anyone # ------------------------------------------------------------------------------ # 5. Floutage (Anonymisation) des visages et plaques # ------------------------------------------------------------------------------ # Renseignez l'URL du service de floutage (SGBlur) exécuté localement. # Si cette variable est commentée ou vide, le floutage automatique est désactivé. API_BLUR_URL=