Aller au contenu principal

9 - Les fichiers joints

Le type Fichier permet au visiteur de joindre un document : un plan, une photo, un CV. Un fichier venu d'inconnus se traite avec prudence, et Formulus le fait sans rien vous demander de plus que deux réglages.

Les réglages du champ

Derrière la roue, Tous les réglages de ce champ, onglet Général :

Réglage Ce qu'il fait
Formats acceptés Les extensions permises, séparées par des virgules. Par défaut : pdf, jpg, jpeg, png.
Taille maximale (Mo) Au-delà, le fichier est refusé. La limite du serveur l'emporte si elle est plus basse.
Joindre à la notification Le fichier part aussi en pièce jointe du mail envoyé à l'équipe.

Sous le champ, sur le site, une consigne dit au visiteur les formats et la taille avant qu'il envoie : « Formats acceptés : PDF, JPG, JPEG, PNG. Taille maximale : 2 Mo. »

Ce qui est vérifié

Dans cet ordre, et chaque refus est expliqué au visiteur sous le champ :

  1. que l'envoi a bien eu lieu ;
  2. la taille ;
  3. l'extension, parmi celles du champ et celles que Formulus sait contrôler : pdf, jpg, jpeg, png, gif, webp, txt, csv, odt, ods, doc, docx, xls, xlsx, zip. Pas de .html, de .svg ni de .php, même si on les demande ;
  4. le contenu réel du fichier : un .pdf qui n'est pas un PDF est refusé ;
  5. le contrôle de sécurité de Joomla : balises de code cachées, doubles extensions.

Où vont les fichiers

Dans administrator/components/com_formulus/depots, sous un nom tiré au hasard, sans extension, dans un dossier fermé à tout accès direct (.htaccess pour Apache, web.config pour IIS). Le nom d'origine n'est gardé que dans la réponse. Un fichier ne s'ouvre que par l'administration, connexion faite.

Vous pouvez choisir un autre dossier, hors du site de préférence : Formulus → Options, onglet Fichiers, chemin absolu sur le serveur. Sur nginx, qui ne lit pas ces fichiers de protection, prévoyez une règle qui interdit le dossier, ou placez-le hors de la racine du site.

Une erreur ne fait pas perdre le fichier

Si le formulaire est refusé pour une autre raison (un champ oublié), le fichier déjà reçu est gardé : le visiteur lit « plan.pdf (1,2 Mo) est bien reçu : inutile de le choisir de nouveau ». Le navigateur, lui, oublie toujours le fichier choisi quand la page revient ; sans cela, le visiteur devrait le rechercher à chaque erreur.

Consulter un fichier

Dans la réponse, le nom du fichier est un lien. Un PDF ou une image s'ouvre dans un nouvel onglet ; les autres formats se téléchargent. Le mail de notification porte le même lien.

Quand les fichiers sont supprimés

  • avec la réponse, quand vous la supprimez ;
  • par la tâche planifiée, quand la réponse dépasse la durée de conservation ;
  • par une demande d'effacement RGPD ;
  • juste après l'envoi du mail, si le formulaire n'enregistre pas les réponses : le mail était alors la seule trace ;
  • un fichier resté sans réponse (un envoi abandonné) est retiré par la tâche planifiée au bout de deux jours.

À jour pour Formulus 1.0.237.