server {
    listen 80;
    server_name localhost; # Ou votre nom de domaine de production

    root /srv/app/public;
    index index.php;

    # Activer gzip pour améliorer les performances
    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_types text/plain text/css text/xml application/json application/javascript application/xml+rss application/atom+xml image/svg+xml;

    location / {
        # Essayer de servir le fichier directement, sinon passer à index.php
        try_files $uri /index.php$is_args$args;
    }

    # Rediriger toutes les requêtes PHP vers PHP-FPM
    location ~ ^/index\.php(/|$) {
        fastcgi_pass php:9000; # 'php' est le nom du service PHP dans docker-compose.yml
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;

        # Quand vous utilisez docker-compose sur OSX, le conteneur Nginx doit pointer vers le bon
        # script SCRIPT_FILENAME (le conteneur PHP-FPM)
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;

        # Empêche les erreurs "Nginx sendfile() failed (21: Is a directory)"
        # Voir https://doc.nette.org/en/cookbook/nginx-for-nette
        # Ou https://serverfault.com/questions/716087/nginx-sendfile-failed-21-is-a-directory
        # disable_symlinks off;
        # fastcgi_read_timeout 300;

        # Optionnel: Augmenter la taille max du corps de la requête si nécessaire
        # client_max_body_size 100M;
    }

    # Interdire l'accès aux fichiers cachés (comme .htaccess)
    location ~ /\. {
        deny all;
    }

    # Gérer les erreurs
    error_log /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
} 