- PHP 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| app | ||
| config | ||
| cron | ||
| database | ||
| docs | ||
| public | ||
| storage | ||
| .gitignore | ||
| README.md | ||
| VERSION | ||
BAT Validator — V1 Synology
Application PHP 8.4 / MariaDB pour l'envoi et la validation de BAT PDF/JPG.
Installation rapide
- Copier ce dossier sur le NAS, par exemple
/volume1/web/bat-validator. - Faire pointer Web Station vers
public/comme document root. - Copier
config/config.example.phpversconfig/config.phpet compléter les paramètres. - Générer la clé applicative :
php -r "echo bin2hex(random_bytes(32)),PHP_EOL;"et la mettre dansapp.key. - Créer la base et l'utilisateur MariaDB, puis importer
database/schema.sql. - Créer le premier administrateur :
php database/create_admin.php admin 'MotDePasseTresFort' admin@domaine.fr. - Donner à l'utilisateur PHP/Web Station les droits en lecture/écriture sur
storage/. - Vérifier les chemins ImageMagick/Ghostscript dans
config/config.php. - Configurer le reverse proxy HTTPS pour envoyer le trafic public vers le même
public/. - Planifier
php /chemin/cron/expire.phptoutes les 15 minutes etphp /chemin/cron/purge.phpune fois par nuit.
PDF.js
Le viewer personnalisé charge PDF.js 4.10.38 depuis Cloudflare CDN. Si les postes clients n'ont pas accès à Internet, téléchargez pdf.min.mjs et pdf.worker.min.mjs depuis la distribution officielle PDF.js, placez-les dans public/assets/js/, puis remplacez les deux URL CDN dans public/assets/js/viewer.js par des chemins locaux.
Important
- L'interface admin vérifie que l'IP source appartient à
app.local_networks. - La page publique est protégée par token,
noindex, expiration et verrou transactionnel lors de la réponse. - Les mots de passe SMTP utilisateur sont chiffrés AES-256-GCM avec la clé applicative hors BDD.
- L'envoi SMTP est annulé si la création initiale échoue. La transaction BDD est rollbackée.
- Un échec IMAP après envoi SMTP ne provoque jamais un second email.
Voir docs/INSTALL_SYNOLOGY.md pour le détail.
Module Tâches (1.1.0)
La version 1.1.0 ajoute un gestionnaire de tâches interne avec vues Kanban et Liste, colonnes configurables, checklist, pièces jointes, journal, plusieurs devis Dolibarr et plusieurs BAT liés. Pour une mise à jour depuis 1.0.1, lire docs/MISE_A_JOUR_1.1.0.md et exécuter database/migration_1.1.0_tasks.sql.