From 98b5b43190316786a73c94c855ab28667542acb7 Mon Sep 17 00:00:00 2001 From: PaulVua Date: Tue, 10 Mar 2026 16:30:51 +0100 Subject: [PATCH] =?UTF-8?q?v1.4.0=20=E2=80=94=20Mise=20=C3=A0=20jour=20fir?= =?UTF-8?q?mware=20hors-ligne=20par=20upload=20ZIP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nouvelle fonctionnalité permettant de mettre à jour le firmware sans connexion internet, via upload d'un fichier .zip depuis l'interface admin. Fichiers ajoutés: - update_firmware_from_file.sh (rsync + exclusions + chown + restart services) - .update-exclude (liste d'exclusions évolutive, versionnée) - html/.htaccess (limite upload PHP 50MB) Fichiers modifiés: - html/launcher.php (handler upload_firmware) - html/admin.html (UI upload + barre de progression) Co-Authored-By: Claude Opus 4.6 --- .update-exclude | 26 +++++ VERSION | 2 +- changelog.json | 20 ++++ html/.htaccess | 3 + html/admin.html | 124 +++++++++++++++++++++++ html/launcher.php | 101 +++++++++++++++++++ update_firmware_from_file.sh | 185 +++++++++++++++++++++++++++++++++++ 7 files changed, 460 insertions(+), 1 deletion(-) create mode 100644 .update-exclude create mode 100644 html/.htaccess create mode 100644 update_firmware_from_file.sh diff --git a/.update-exclude b/.update-exclude new file mode 100644 index 0000000..79b5d43 --- /dev/null +++ b/.update-exclude @@ -0,0 +1,26 @@ +# NebuleAir Pro 4G - Fichiers exclus lors de la mise à jour par upload +# Ce fichier est versionné dans le repo et voyage avec chaque release. +# Quand on ajoute un nouveau capteur avec du cache local, mettre à jour cette liste. + +# Base de données (données capteur, config locale) +sqlite/sensors.db +sqlite/*.db-journal +sqlite/*.db-wal + +# Logs applicatifs +logs/ + +# Historique git (pour que git pull fonctionne toujours après) +.git/ + +# Fichiers de configuration locale +config.json +deviceID.txt +wifi_list.csv + +# Données capteurs en cache +envea/data/ +NPM/data/ + +# Verrous +*.lock diff --git a/VERSION b/VERSION index 26aaba0..88c5fb8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.2.0 +1.4.0 diff --git a/changelog.json b/changelog.json index 55de0ee..8d70dc0 100644 --- a/changelog.json +++ b/changelog.json @@ -1,5 +1,25 @@ { "versions": [ + { + "version": "1.4.0", + "date": "2026-03-10", + "changes": { + "features": [ + "Mise a jour firmware hors-ligne par upload de fichier ZIP via l'interface web admin", + "Barre de progression pour suivre l'upload du fichier", + "Fichier .update-exclude versionne pour gerer les exclusions rsync de maniere evolutive" + ], + "improvements": [ + "Vidage du buffer serie avant chaque commande AT dans sara.py (evite les URCs residuelles au demarrage)" + ], + "fixes": [], + "compatibility": [ + "Necessite l'ajout de update_firmware_from_file.sh dans les permissions sudo de www-data", + "Necessite Apache mod_rewrite pour html/.htaccess (upload 50MB)" + ] + }, + "notes": "Permet la mise a jour du firmware sans connexion internet : telecharger le .zip depuis Gitea, se connecter au hotspot du capteur, et uploader via admin.html." + }, { "version": "1.3.0", "date": "2026-02-17", diff --git a/html/.htaccess b/html/.htaccess new file mode 100644 index 0000000..39d70cc --- /dev/null +++ b/html/.htaccess @@ -0,0 +1,3 @@ +php_value upload_max_filesize 50M +php_value post_max_size 55M +php_value max_execution_time 300 diff --git a/html/admin.html b/html/admin.html index 7a2d38d..892eed5 100755 --- a/html/admin.html +++ b/html/admin.html @@ -244,6 +244,20 @@ +
+ +
+ + +
+ + Télécharger le .zip depuis Gitea, puis le déposer ici +