Logiciel pour validation de BAT en ligne pour mes clients
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-03 14:03:04 +02:00
app V1.3.0 2026-09-03 14:03:04 +02:00
config Version initiale v1.0.0 2026-08-28 17:49:13 +02:00
cron V1.3.0 2026-09-03 14:03:04 +02:00
database Ajout de la fonction taches 2026-08-31 13:49:24 +02:00
docs Ajout de la fonction taches 2026-08-31 13:49:24 +02:00
public V1.3.0 2026-09-03 14:03:04 +02:00
storage V1.3.0 2026-09-03 14:03:04 +02:00
.gitignore Ajout de la fonction taches 2026-08-31 13:49:24 +02:00
README.md Ajout de la fonction taches 2026-08-31 13:49:24 +02:00
VERSION Ajout de la fonction taches 2026-08-31 13:49:24 +02:00

BAT Validator — V1 Synology

Application PHP 8.4 / MariaDB pour l'envoi et la validation de BAT PDF/JPG.

Installation rapide

  1. Copier ce dossier sur le NAS, par exemple /volume1/web/bat-validator.
  2. Faire pointer Web Station vers public/ comme document root.
  3. Copier config/config.example.php vers config/config.php et compléter les paramètres.
  4. Générer la clé applicative : php -r "echo bin2hex(random_bytes(32)),PHP_EOL;" et la mettre dans app.key.
  5. Créer la base et l'utilisateur MariaDB, puis importer database/schema.sql.
  6. Créer le premier administrateur : php database/create_admin.php admin 'MotDePasseTresFort' admin@domaine.fr.
  7. Donner à l'utilisateur PHP/Web Station les droits en lecture/écriture sur storage/.
  8. Vérifier les chemins ImageMagick/Ghostscript dans config/config.php.
  9. Configurer le reverse proxy HTTPS pour envoyer le trafic public vers le même public/.
  10. Planifier php /chemin/cron/expire.php toutes les 15 minutes et php /chemin/cron/purge.php une 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.