✦ SÉCURITÉ
Confidentialité & sécurité
Informations techniques sur les journaux d'accès, le formulaire et les fichiers protégés.
Journalisation technique
Les pages PHP enregistrent l'adresse IP, la date, le chemin demandé, le code HTTP, le temps de traitement, le référent et le user-agent. Ces journaux servent au diagnostic, à la sécurité du serveur et à l'analyse technique de la fréquentation du portfolio.
Un espace d'administration privé permet de consulter ces informations ainsi que, lorsque disponibles, le pays, la ville approximative, le réseau opérateur / FAI, le numéro ASN, la page visitée, le référent et certains événements de sécurité liés notamment au formulaire de contact, aux tentatives d'authentification et au téléchargement du CV.
Le pays, la ville approximative, le réseau opérateur / FAI et le numéro ASN affichés à partir de l'adresse IP sont déterminés localement sur le serveur à l'aide de bases GeoIP. Aucun service tiers n'est interrogé pour cet enrichissement. Ces informations dérivées sont calculées à l'affichage dans l'espace d'administration et ne sont pas ajoutées aux journaux techniques bruts.
La durée maximale de conservation configurée est de 365 jours. Une tâche de maintenance exécutée quotidiennement supprime automatiquement les journaux ayant dépassé cette durée.
Formulaire de contact
Le formulaire utilise un jeton CSRF, un honeypot et une limitation par adresse IP. Le message est transmis par le serveur mail local ; le contenu du message n'est pas enregistré dans les logs techniques.
CV & images
Le PDF du CV est conservé hors du webroot et n'est délivré qu'au travers d'un endpoint PHP. Le code demandé est volontairement affiché sur la page : il s'agit d'une barrière anti-hotlink/anti-robot simple, pas d'un secret d'authentification.
Les captures de projets publiées sont des copies WebP filigranées. Les originaux restent dans src/images-originales/ et ne sont pas synchronisés par le script de déploiement.