VENDEE IMAGES 85 - MODULE PHP DE TEST (VERSION 0.1) ==================================================== IMPORTANT : ce module N'EST PAS ENCORE une API publique pour Lite. Il n'inclut pas l'authentification finale des administrateurs, l'anti-spam public, les notifications Firebase, le formulaire de consentement, ni la corbeille 30 jours. La suppression de test est DEFINITIVE. Ne pas l'utiliser avec des donnees reelles. INSTALLATION SANS ECRASER LE TRANSMETTEUR : 1. Faire une sauvegarde des dossiers api et contributions existants. 2. Dans cPanel, transferer les fichiers du sous-dossier api/ du ZIP dans Transfert.vendeeimages85.fr/api/ (ne pas effacer test.php existant). 3. Dans contributions/, garder le .htaccess existant qui contient Require all denied. 4. Copier api/config.example.php en api/config.php. 5. Generer un secret aleatoire (par exemple php -r 'echo bin2hex(random_bytes(32)), PHP_EOL;') et remplacer le placeholder admin_token dans config.php. NE PAS partager le jeton. 6. Laisser test_upload_enabled = false. Ne PAS l'activer avant le test accompagne. 7. Verifier https://transfert.vendeeimages85.fr/api/health.php 8. Tester que https://transfert.vendeeimages85.fr/contributions/ renvoie 403. 9. Verifier que https://transfert.vendeeimages85.fr/api/config.php renvoie 403. SECURITE : - Utiliser HTTPS uniquement. - Les fichiers sont bloques en acces direct par .htaccess. - Les scripts list/download/status/delete/upload exigent un jeton admin Bearer. - Ce jeton ne doit JAMAIS etre embarque dans une APK : extractible d'une application. - Avant production, remplacer le jeton partage par une vraie authentification serveur, ajouter quotas/rate-limits, CAPTCHA ou protection anti-abus et controle de consentement. - Limite 450 MiB par contribution (471 859 200 octets), 30 fichiers max. - Verifier upload_max_filesize, post_max_size, max_file_uploads, temps et quotas PHP. - Les extensions reconnues sont JPG JPEG PNG WEBP HEIC MP4 MOV WEBM. - L'hebergement peut ne pas reconnaitre certains HEIC ou MOV selon finfo. - Le nettoyage cron existant vise uploads/, pas contributions/. - Conserver des sauvegardes privees et definir une politique de retention RGPD. ENDPOINTS (pour developpement ulterieur, NON destines au public) GET /api/health.php POST /api/upload.php (multipart files[], authentifie, desactive par defaut) GET /api/list.php GET /api/download.php?id=&file= POST /api/status.php (id, status) POST /api/delete.php (id, confirm=SUPPRIMER) - suppression definitive La mise en production Lite -> Pro necessitera une prochaine version securisee.