129 lines
9.0 KiB
XML
129 lines
9.0 KiB
XML
<Project>
|
|
<!-- ============================================================
|
|
Omika - Central Package Management (CPM)
|
|
Toutes les versions de packages NuGet sont définies ici.
|
|
https://learn.microsoft.com/en-us/nuget/consume-packages/central-package-management
|
|
============================================================ -->
|
|
<PropertyGroup>
|
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
|
<!-- Épingle aussi les dépendances transitives : permet de forcer
|
|
Microsoft.OpenApi corrigé partout où il apparaît. -->
|
|
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<!-- ===== Avalonia (garder les versions synchronisées) ===== -->
|
|
<PackageVersion Include="Avalonia" Version="12.1.1" />
|
|
<PackageVersion Include="Avalonia.Themes.Fluent" Version="12.1.1" />
|
|
<PackageVersion Include="Avalonia.Fonts.Inter" Version="12.1.1" />
|
|
<PackageVersion Include="Avalonia.Desktop" Version="12.1.1" />
|
|
<PackageVersion Include="Avalonia.Android" Version="12.1.1" />
|
|
<PackageVersion Include="Avalonia.iOS" Version="12.1.1" />
|
|
<PackageVersion Include="Avalonia.Headless" Version="12.1.1" />
|
|
<PackageVersion Include="Avalonia.Skia" Version="12.1.1" />
|
|
<PackageVersion Include="AvaloniaUI.DiagnosticsSupport" Version="2.2.3" />
|
|
<PackageVersion Include="Mapsui.Avalonia" Version="5.1.0" />
|
|
<PackageVersion Include="Mapsui.Avalonia12" Version="5.1.0" />
|
|
<PackageVersion Include="Mapsui.Tiling" Version="5.1.0" />
|
|
<PackageVersion Include="Xamarin.AndroidX.Core.SplashScreen" Version="1.0.1.15" />
|
|
<!-- ===== Traitement d'image (optimisation du poids des photos) =====
|
|
Déjà présent de façon transitive via Avalonia.Skia, avec ses assets natifs
|
|
sur Android / iOS / Windows. On le référence explicitement pour figer la
|
|
version et ne pas dépendre d'un transitif : aucune nouvelle dépendance
|
|
native n'est introduite. -->
|
|
<PackageVersion Include="SkiaSharp" Version="3.119.4" />
|
|
<!-- ===== Lecture des métadonnées de fichier (date de création réelle) =====
|
|
SkiaSharp n'expose AUCUNE API EXIF (vérifié sur l'assembly 3.119.4 :
|
|
ni Exif, ni DateTimeOriginal, ni SKMetadata ; seul EncodedOrigin est
|
|
disponible). Or la date métier d'un document doit être la date réelle
|
|
de prise de vue, lue en priorité dans EXIF DateTimeOriginal.
|
|
MetadataExtractor couvre JPEG, TIFF, PNG, WebP, GIF ET HEIF — le HEIF
|
|
est indispensable : les photos iPhone sont en HEIC par défaut, et un
|
|
lecteur EXIF limité au JPEG retomberait sur la date système pour une
|
|
large part des photos réelles. Bibliothèque managée pure, sans asset
|
|
natif : aucun impact sur les trois têtes (Desktop/Android/iOS). -->
|
|
<PackageVersion Include="MetadataExtractor" Version="2.9.0" />
|
|
<!-- ===== MVVM ===== -->
|
|
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.2" />
|
|
<!-- ===== QR code (inscription licence mobile) ===== -->
|
|
<PackageVersion Include="QRCoder" Version="1.6.0" />
|
|
<!-- Décodage QR côté Android (lecture caméra). QRCoder ne fait QUE générer ;
|
|
ZXing.Net (managé pur, netstandard2.0) est le décodeur standard, utilisé
|
|
uniquement par la tête Android pour transformer un frame YUV en texte. -->
|
|
<PackageVersion Include="ZXing.Net" Version="0.16.11" />
|
|
<!-- ===== API ASP.NET Core ===== -->
|
|
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.10" />
|
|
<!-- Microsoft.AspNetCore.OpenApi génère du code contre l'API 2.x de Microsoft.OpenApi.
|
|
On force la dernière version 2.x (API compatible + correctif de sécurité
|
|
si publié sur la branche 2.x). -->
|
|
<PackageVersion Include="Microsoft.OpenApi" Version="2.11.0" />
|
|
<!-- ===== Tests xUnit ===== -->
|
|
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
|
|
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
|
|
<PackageVersion Include="xunit" Version="2.9.3" />
|
|
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.4" />
|
|
<!-- ===== Microsoft.Extensions (Options / Configuration pour Omika.Data) ===== -->
|
|
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.10" />
|
|
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.10" />
|
|
<!-- Nécessaire pour OptionsBuilder.ValidateOnStart() (IStartupValidator). -->
|
|
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.10" />
|
|
<!-- Chargement de la configuration locale HFSQL de test (JSON + variables d'environnement). -->
|
|
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.10" />
|
|
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="10.0.10" />
|
|
<!-- ===== Accès HFSQL via ODBC (provider standard .NET) ===== -->
|
|
<PackageVersion Include="System.Data.Odbc" Version="10.0.0" />
|
|
<!-- ===== Code-page encodings (Windows-1252 for HFSQL legacy password derivation) ===== -->
|
|
<PackageVersion Include="System.Text.Encoding.CodePages" Version="10.0.0" />
|
|
<!-- ===== Accès HFSQL via OLE DB (diagnostic tools only) ===== -->
|
|
<PackageVersion Include="System.Data.OleDb" Version="10.0.0" />
|
|
<!-- ===== DI pour les tests d'infrastructure (Omika.Tests) ===== -->
|
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.10" />
|
|
<!-- ===== Hosting pour le Worker de synchronisation serveur (Omika.Worker) ===== -->
|
|
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.10" />
|
|
<!-- ===== Tests HTTP (WebApplicationFactory) ===== -->
|
|
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.10" />
|
|
<!-- ===== SQLite local (offline-first mobile) ===== -->
|
|
<PackageVersion Include="Microsoft.Data.Sqlite" Version="10.0.10" />
|
|
<!-- Épingle SQLitePCLRaw en 2.1.12 (correctif CVE-2025-6965 / GHSA-2m69-gcr7-jv3q :
|
|
le bundle e_sqlite3 2.1.11 embarque une bibliothèque SQLite native < 3.50.2,
|
|
vulnérable à une troncature d'entier dans findOrCreateAggInfoColumn). On reste
|
|
en 2.x (drop-in, ABI-compatible) — PAS de saut vers 3.x (breaking, cf.
|
|
https://github.com/ericsink/SQLitePCL.raw/issues/634). Transitive pinning déjà
|
|
activé (CentralPackageTransitivePinningEnabled). -->
|
|
<PackageVersion Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.12" />
|
|
<PackageVersion Include="SQLitePCLRaw.core" Version="2.1.12" />
|
|
<PackageVersion Include="SQLitePCLRaw.lib.e_sqlite3" Version="2.1.12" />
|
|
<PackageVersion Include="SQLitePCLRaw.provider.e_sqlite3" Version="2.1.12" />
|
|
<!-- ===== Logging mobile (offline-first) ===== -->
|
|
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.10" />
|
|
<!-- ===== Traduction hors ligne : moteur d'inférence ONNX =====
|
|
Embarque les bibliothèques natives (une par architecture : arm64, x64…),
|
|
soit ~15 Mo sur le disque d'un téléphone — à comparer aux 500 Mo à
|
|
1,15 Go d'UN pack de langue. Sans ce paquet, la traduction répond
|
|
« indisponible » : le moteur n'est pas compilé (voir
|
|
OnnxRuntimeInferenceSessionFactory dans Omika.App.Local). -->
|
|
<PackageVersion Include="Microsoft.ML.OnnxRuntime" Version="1.20.1" />
|
|
<!-- ===== Email (SMTP) ===== -->
|
|
<PackageVersion Include="MailKit" Version="4.16.0" />
|
|
<!-- ===== Remplissage des modèles de rapport DOCX (OpenXML SDK) ===== -->
|
|
<PackageVersion Include="DocumentFormat.OpenXml" Version="3.1.1" />
|
|
<!-- Épingle le correctif transitif System.IO.Packaging (CVE-2024-43483/43484). -->
|
|
<PackageVersion Include="System.IO.Packaging" Version="8.0.1" />
|
|
<!-- ===== OpenTelemetry (Phase 5) =====
|
|
Localisés UNIQUEMENT dans le projet infrastructure dédié
|
|
(src/Omika.Observability.External) ; jamais dans Omika.Core, jamais dans
|
|
le métier (Omika.App / Omika.App.Local / Omika.Data).
|
|
Train stable 1.18.0 (corrige NU1902 présents en 1.13.0), aligné entre le
|
|
SDK et l'exporter OTLP.
|
|
Protocole retenu : OTLP HTTP/protobuf (pas de gRPC natif, HttpClient pur). -->
|
|
<PackageVersion Include="OpenTelemetry" Version="1.18.0" />
|
|
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.18.0" />
|
|
<!-- ===== Diagnostic Center (Phase 5) =====
|
|
Accès PostgreSQL de l'outil support (base dédiée omika_diagnostics).
|
|
Npgsql direct (pas d'ORM) : simple, explicite, pooling intégré. -->
|
|
<PackageVersion Include="Npgsql" Version="10.0.3" />
|
|
<!-- Support Windows Service officiel pour Omika.Diagnostics.Worker.
|
|
Package séparé du train Microsoft.Extensions.Hosting (10.0.10 aligné).
|
|
Nécessite un accès NuGet (restauration) au moment du publish service. -->
|
|
<PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="10.0.10" />
|
|
</ItemGroup>
|
|
</Project> |