# Envoi de documents — page de scan de l'agence

Une page web unique qui permet à Samuel, Amandine et Shana de photographier des
documents avec leur téléphone, de les assembler en un seul PDF et de les expédier
sur une boîte mail de l'agence. Fonctionne sur Android, iOS, Chrome, Safari,
Firefox et Edge, sans application à installer.

## Ce que contient le dossier

| Fichier | Rôle |
|---|---|
| `index.html` | La page utilisée par les collaborateurs |
| `envoi.php` | Reçoit les pages, fabrique le PDF, envoie le mail |
| `config.php` | **Le seul fichier à modifier** : adresses, code d'accès, limites |
| `.user.ini` | Autorise les envois volumineux |
| `manifest.json`, `icone-*.png` | Ajout à l'écran d'accueil du téléphone |
| `.htaccess` | Force le HTTPS et pose l'en-tête `noindex` |

## Installation sur l'hébergement OVH

1. **Créer un sous-dossier** dans l'espace web, par exemple `/www/docs/`.
   Inutile de toucher à WordPress : la page vit à côté, sans interférence.
2. **Téléverser tous les fichiers** du dossier par FTP ou par l'explorateur OVH,
   y compris les fichiers commençant par un point (activez l'affichage des
   fichiers cachés dans FileZilla : Serveur → Forcer l'affichage des fichiers cachés).
3. **`config.php` est déjà rempli** : expédition depuis
   `documents@suresnesassur.fr`, réception sur `h992201@agents.allianz.fr`,
   code d'accès `SUR92-scan`. Changez le code avant de diffuser le lien.
4. **Vérifier que PHP est actif** sur l'hébergement (il l'est par défaut sur les
   offres OVH mutualisées), en version 7.4 ou supérieure.
5. **Tester** depuis un téléphone : `https://suresnesassur.fr/docs/`

## Mise en main de l'équipe

Sur iPhone : ouvrir l'adresse dans Safari → bouton Partager → « Sur l'écran
d'accueil ». Sur Android : menu à trois points de Chrome → « Ajouter à l'écran
d'accueil ». L'icône se comporte alors comme une application.

Le code d'accès n'est demandé qu'une fois : il reste mémorisé sur l'appareil.

## Fonctionnement

Chaque photo est réduite à 1800 px sur son plus grand côté et compressée dans le
navigateur, avant tout transfert. Une page pèse ainsi 200 à 400 Ko au lieu de
4 Mo, ce qui rend l'envoi possible en 4G et garde le mail sous les limites de
taille des messageries d'entreprise. Le serveur assemble ensuite les pages dans
un seul PDF A4, nommé `emetteur_reference_date.pdf`.

Les PDF importés depuis le téléphone sont joints tels quels, sans transformation.

Rien n'est conservé sur le serveur : les fichiers temporaires sont supprimés par
PHP à la fin de la requête. Seule une ligne de journal est écrite dans
`journal.log` (date, émetteur, destination, résultat).

## Réglages courants

**Changer les noms des collaborateurs** — dans `index.html`, chercher
`<select id="emetteur">` et modifier la liste.

**Changer les destinations** — les trois choix (Agence, Sinistres, Compta)
arrivent tous sur la même boîte ; le libellé apparaît entre crochets dans
l'objet, ce qui permet de créer des règles de tri dans Outlook. Pour les
séparer réellement, indiquez des adresses différentes dans `destinataires`.

**Documents plus lisibles** — dans `index.html`, augmenter `COTE_MAX` à 2200 et
`QUALITE` à 0.8. Les pièces jointes grossissent d'environ 60 %.

## Si un envoi échoue

- *« Le serveur de messagerie a refusé l'envoi »* : l'adresse
  `documents@suresnesassur.fr` n'existe pas encore. Créez-la dans l'espace
  client OVH (rubrique E-mails du domaine) avant le premier essai.
- *« Envoi trop volumineux pour le serveur »* : les valeurs de `.user.ini` ne
  sont pas prises en compte. Vérifier dans l'espace OVH que le fichier est bien
  placé à la racine du dossier `docs/`.
- *Le mail n'arrive pas dans la boîte Allianz* : le filtrage Allianz est strict.
  Ajoutez `documents@suresnesassur.fr` à vos contacts autorisés dans Outlook,
  regardez d'abord le dossier Courrier indésirable, et vérifiez dans la zone DNS
  OVH que l'enregistrement SPF de suresnesassur.fr contient bien `include:mx.ovh.com`.
- *L'appareil photo ne s'ouvre pas* : la page a été ouverte en `http://`. Le
  `.htaccess` force normalement le `https://` ; vérifier qu'il a bien été
  téléversé.

## Point de vigilance

Le code d'accès protège de l'usage accidentel par un tiers, pas d'une attaque
déterminée. Si des documents contenant des données personnelles de clients
transitent par cette page, gardez l'adresse confidentielle, changez le code
lors d'un départ de collaborateur, et purgez `journal.log` périodiquement.

## Certificat SSL : supprimer l'avertissement « Non sécurisé »

Le `.htaccess` bascule les visiteurs en `https://`, mais il ne peut le faire que
si un certificat existe. Il faut donc l'activer côté OVH, une seule fois :

1. Espace client OVH → Hébergements → suresnesassur.fr → onglet **Multisite**.
2. Sur la ligne du domaine, engrenage → **Modifier**, cocher **SSL**, valider.
3. Onglet **Informations générales** → cadre SSL → **Demander un certificat SSL**,
   choisir l'offre **Let's Encrypt** (gratuite, renouvelée automatiquement).
4. Compter de 30 minutes à 24 heures. Tant que le certificat n'est pas délivré,
   la redirection du `.htaccess` produit une erreur : mettez-la en place seulement
   après avoir vérifié que `https://suresnesassur.fr` s'ouvre sans avertissement.

Cette étape n'est pas cosmétique. Sans HTTPS, Safari et Chrome refusent l'accès
à l'appareil photo : la page s'affiche, mais le bouton « Photographier » reste
sans effet.

## Rester hors des moteurs de recherche

Trois protections se cumulent, et elles sont déjà en place :

- la balise `noindex` dans l'en-tête de `index.html` ;
- l'en-tête HTTP `X-Robots-Tag`, posé par le `.htaccess`, que les moteurs sont
  tenus de respecter y compris sur les fichiers non HTML ;
- `Referrer-Policy: no-referrer`, pour que l'adresse ne fuite pas vers les sites
  tiers si un lien était ouvert depuis la page.

**Le `robots.txt` a été retiré volontairement.** Il aurait été contre-productif :
placé dans un sous-dossier il est ignoré (seul celui de la racine du domaine
compte), et placé à la racine il aurait publié noir sur blanc l'existence du
dossier `/docs/` à quiconque consulte `suresnesassur.fr/robots.txt`. Un moteur
qui trouve une page interdite par `robots.txt` peut d'ailleurs continuer à
l'afficher dans ses résultats, sans description. La balise `noindex` fait
exactement l'inverse : elle autorise la lecture et interdit l'affichage.

Deux règles de discipline complètent le dispositif :

- **ne jamais poser de lien** vers cette page depuis le site WordPress, une
  signature de mail ou un réseau social. Un lien public est le principal moyen
  par lequel un moteur découvre une adresse ;
- **transmettre l'adresse en message privé**, jamais dans un groupe ouvert.

Si vous voulez une couche supplémentaire, renommez le dossier `docs` en quelque
chose d'imprévisible, par exemple `d7k2-envoi`. L'adresse devient impossible à
deviner, et la page reste protégée par le code d'accès de toute façon.
