# Exemple de vhost Apache pour un serveur en ligne (à adapter : domaine,
# chemins, certificat). Suppose PHP-FPM (le plus courant chez les
# hébergeurs modernes) ; voir la note en bas si votre hébergeur utilise
# mod_php classique à la place.
#
# Ce fichier a été testé dans un environnement Apache 2.4 + PHP-FPM 8.3
# réel avant livraison (voir LISEZ-MOI-DEPLOIEMENT.md).

<VirtualHost *:80>
    ServerName votre-domaine.dz
    # Redirection systématique vers HTTPS — ne jamais laisser l'app
    # tourner en clair sur un serveur public.
    Redirect permanent / https://votre-domaine.dz/
</VirtualHost>

<VirtualHost *:443>
    ServerName votre-domaine.dz

    # ⚠️ CRITIQUE : le document root pointe sur public/, jamais sur la
    # racine du projet. Si ce point est mal configuré, .env, la base
    # SQLite et tout le code applicatif deviennent téléchargeables
    # publiquement.
    DocumentRoot /var/www/forms/public

    <Directory /var/www/forms/public>
        AllowOverride All
        Require all granted
    </Directory>

    # Bloque explicitement tout accès à ce qui est hors public/, en
    # défense en profondeur (redondant si DocumentRoot est bien configuré
    # ci-dessus, mais ne coûte rien).
    <Directory /var/www/forms>
        Require all denied
    </Directory>
    <Directory /var/www/forms/public>
        Require all granted
    </Directory>

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost"
    </FilesMatch>

    SSLEngine on
    SSLCertificateFile      /etc/letsencrypt/live/votre-domaine.dz/fullchain.pem
    SSLCertificateKeyFile   /etc/letsencrypt/live/votre-domaine.dz/privkey.pem

    ErrorLog  ${APACHE_LOG_DIR}/forms-error.log
    CustomLog ${APACHE_LOG_DIR}/forms-access.log combined
</VirtualHost>

# Si votre hébergeur utilise mod_php au lieu de PHP-FPM (plus rare
# aujourd'hui), remplacez le bloc <FilesMatch> ci-dessus par rien du
# tout : mod_php gère les .php automatiquement une fois activé
# (a2enmod php8.3), sans directive supplémentaire nécessaire.
