feat: Version 3.3.4 - Nouvelle architecture pages, optimisations widgets Flutter et API

- Mise à jour VERSION vers 3.3.4
- Optimisations et révisions architecture API (deploy-api.sh, scripts de migration)
- Ajout documentation Stripe Tap to Pay complète
- Migration vers polices Inter Variable pour Flutter
- Optimisations build Android et nettoyage fichiers temporaires
- Amélioration système de déploiement avec gestion backups
- Ajout scripts CRON et migrations base de données

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
pierre
2025-10-05 20:11:15 +02:00
parent 2786252307
commit 570a1fa1f0
212 changed files with 24275 additions and 11321 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"inputs":[],"outputs":[]}

View File

@@ -1 +0,0 @@
{"inputs":["/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/armeabi-v7a/app.so"],"outputs":["/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/armeabi-v7a/app.so"]}

View File

@@ -1 +0,0 @@
{"inputs":["/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/arm64-v8a/app.so"],"outputs":["/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/arm64-v8a/app.so"]}

View File

@@ -1 +0,0 @@
{"inputs":["/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/x86_64/app.so"],"outputs":["/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/x86_64/app.so"]}

View File

@@ -1 +0,0 @@
{"inputs":["/home/pierre/dev/flutter/packages/flutter_tools/lib/src/build_system/targets/android.dart","/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/app.dill","/home/pierre/dev/flutter/bin/cache/engine.stamp","/home/pierre/dev/flutter/bin/cache/engine.stamp","/home/pierre/dev/flutter/bin/cache/engine.stamp"],"outputs":["/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/armeabi-v7a/app.so"]}

View File

@@ -1 +0,0 @@
{"inputs":["/home/pierre/dev/flutter/packages/flutter_tools/lib/src/build_system/targets/android.dart","/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/app.dill","/home/pierre/dev/flutter/bin/cache/engine.stamp","/home/pierre/dev/flutter/bin/cache/engine.stamp","/home/pierre/dev/flutter/bin/cache/engine.stamp"],"outputs":["/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/arm64-v8a/app.so"]}

View File

@@ -1 +0,0 @@
{"inputs":["/home/pierre/dev/flutter/packages/flutter_tools/lib/src/build_system/targets/android.dart","/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/app.dill","/home/pierre/dev/flutter/bin/cache/engine.stamp","/home/pierre/dev/flutter/bin/cache/engine.stamp","/home/pierre/dev/flutter/bin/cache/engine.stamp"],"outputs":["/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/x86_64/app.so"]}

View File

@@ -1 +0,0 @@
/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/dart_build_result.json:

View File

@@ -1 +0,0 @@
{"inputs":["/home/pierre/dev/flutter/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart","/home/pierre/dev/geosector/app/.dart_tool/package_config.json"],"outputs":["/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/dart_build_result.json","/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/dart_build_result.json"]}

View File

@@ -1 +0,0 @@
{"dependencies":[],"code_assets":[]}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"inputs":["/home/pierre/dev/geosector/app/.dart_tool/package_config.json"],"outputs":["/home/pierre/dev/geosector/app/.dart_tool/flutter_build/dart_plugin_registrant.dart"]}

View File

@@ -1 +0,0 @@
/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/native_assets.json:

View File

@@ -1 +0,0 @@
{"inputs":["/home/pierre/dev/flutter/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart","/home/pierre/dev/geosector/app/.dart_tool/package_config.json"],"outputs":["/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/native_assets.json","/home/pierre/dev/geosector/app/.dart_tool/flutter_build/6ced80b14fe32342d5c3c0e19b465026/native_assets.json"]}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"format-version":[1,0,0],"native-assets":{}}

View File

@@ -1 +0,0 @@
["/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/assets/images/logo-geosector-512.png-autosave.kra","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/assets/images/icon-geosector.svg","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/assets/images/geosector_map_admin.png","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/assets/images/logo_recu.png","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/assets/images/logo-geosector-512.png","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/assets/images/geosector-logo.png","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/assets/images/logo-geosector-1024.png","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/assets/animations/geo_main.json","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/lib/chat/chat_config.yaml","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/assets/fonts/Figtree-VariableFont_wght.ttf","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/packages/flutter_map/lib/assets/flutter_map_logo.png","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/fonts/MaterialIcons-Regular.otf","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/shaders/ink_sparkle.frag","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/AssetManifest.json","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/AssetManifest.bin","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/FontManifest.json","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/NOTICES.Z","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/flutter_assets/NativeAssetsManifest.json","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/x86_64/app.so","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/arm64-v8a/app.so","/home/pierre/dev/geosector/app/build/app/intermediates/flutter/release/armeabi-v7a/app.so"]

View File

@@ -10,36 +10,35 @@ import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:geolocator_android/geolocator_android.dart';
import 'package:image_picker_android/image_picker_android.dart';
import 'package:path_provider_android/path_provider_android.dart';
import 'package:shared_preferences_android/shared_preferences_android.dart';
import 'package:url_launcher_android/url_launcher_android.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:geolocator_apple/geolocator_apple.dart';
import 'package:image_picker_ios/image_picker_ios.dart';
import 'package:path_provider_foundation/path_provider_foundation.dart';
import 'package:shared_preferences_foundation/shared_preferences_foundation.dart';
import 'package:url_launcher_ios/url_launcher_ios.dart';
import 'package:battery_plus/battery_plus.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:file_selector_linux/file_selector_linux.dart';
import 'package:flutter_local_notifications_linux/flutter_local_notifications_linux.dart';
import 'package:geolocator_linux/geolocator_linux.dart';
import 'package:image_picker_linux/image_picker_linux.dart';
import 'package:network_info_plus/network_info_plus.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:path_provider_linux/path_provider_linux.dart';
import 'package:shared_preferences_linux/shared_preferences_linux.dart';
import 'package:url_launcher_linux/url_launcher_linux.dart';
import 'package:file_selector_macos/file_selector_macos.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:geolocator_apple/geolocator_apple.dart';
import 'package:image_picker_macos/image_picker_macos.dart';
import 'package:path_provider_foundation/path_provider_foundation.dart';
import 'package:shared_preferences_foundation/shared_preferences_foundation.dart';
import 'package:url_launcher_macos/url_launcher_macos.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:file_selector_windows/file_selector_windows.dart';
import 'package:flutter_local_notifications_windows/flutter_local_notifications_windows.dart';
import 'package:image_picker_windows/image_picker_windows.dart';
import 'package:network_info_plus/network_info_plus.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:path_provider_windows/path_provider_windows.dart';
import 'package:shared_preferences_windows/shared_preferences_windows.dart';
import 'package:url_launcher_windows/url_launcher_windows.dart';
@pragma('vm:entry-point')
@@ -84,15 +83,6 @@ class _PluginRegistrant {
);
}
try {
SharedPreferencesAndroid.registerWith();
} catch (err) {
print(
'`shared_preferences_android` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
UrlLauncherAndroid.registerWith();
} catch (err) {
@@ -139,15 +129,6 @@ class _PluginRegistrant {
);
}
try {
SharedPreferencesFoundation.registerWith();
} catch (err) {
print(
'`shared_preferences_foundation` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
UrlLauncherIOS.registerWith();
} catch (err) {
@@ -158,6 +139,15 @@ class _PluginRegistrant {
}
} else if (Platform.isLinux) {
try {
BatteryPlusLinuxPlugin.registerWith();
} catch (err) {
print(
'`battery_plus` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
ConnectivityPlusLinuxPlugin.registerWith();
} catch (err) {
@@ -167,6 +157,15 @@ class _PluginRegistrant {
);
}
try {
DeviceInfoPlusLinuxPlugin.registerWith();
} catch (err) {
print(
'`device_info_plus` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
FileSelectorLinux.registerWith();
} catch (err) {
@@ -186,19 +185,19 @@ class _PluginRegistrant {
}
try {
GeolocatorLinux.registerWith();
ImagePickerLinux.registerWith();
} catch (err) {
print(
'`geolocator_linux` threw an error: $err. '
'`image_picker_linux` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
ImagePickerLinux.registerWith();
NetworkInfoPlusLinuxPlugin.registerWith();
} catch (err) {
print(
'`image_picker_linux` threw an error: $err. '
'`network_info_plus` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
@@ -221,15 +220,6 @@ class _PluginRegistrant {
);
}
try {
SharedPreferencesLinux.registerWith();
} catch (err) {
print(
'`shared_preferences_linux` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
UrlLauncherLinux.registerWith();
} catch (err) {
@@ -285,15 +275,6 @@ class _PluginRegistrant {
);
}
try {
SharedPreferencesFoundation.registerWith();
} catch (err) {
print(
'`shared_preferences_foundation` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
UrlLauncherMacOS.registerWith();
} catch (err) {
@@ -304,6 +285,15 @@ class _PluginRegistrant {
}
} else if (Platform.isWindows) {
try {
DeviceInfoPlusWindowsPlugin.registerWith();
} catch (err) {
print(
'`device_info_plus` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
FileSelectorWindows.registerWith();
} catch (err) {
@@ -331,6 +321,15 @@ class _PluginRegistrant {
);
}
try {
NetworkInfoPlusWindowsPlugin.registerWith();
} catch (err) {
print(
'`network_info_plus` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
PackageInfoPlusWindowsPlugin.registerWith();
} catch (err) {
@@ -349,15 +348,6 @@ class _PluginRegistrant {
);
}
try {
SharedPreferencesWindows.registerWith();
} catch (err) {
print(
'`shared_preferences_windows` threw an error: $err. '
'The app may not function as expected until you remove this plugin from pubspec.yaml'
);
}
try {
UrlLauncherWindows.registerWith();
} catch (err) {