SchotzIAD KM Tracker : suivi des trajets kilométriques (Angular + .NET 8)
Application complète de saisie et de suivi des trajets kilométriques avec calcul de distance routière (OpenRouteService), barème kilométrique, résumés et régularisation annuelle. Backend (ASP.NET Core .NET 8, EF Core, SQLite) : - Trajets (CRUD, réordonnancement, insertion), calcul de distance ORS avec fallback Haversine, géométrie d'itinéraire stockée par trajet, recalcul en masse. - Profil, véhicules (avec dénomination), carnet d'adresses nommées, cache d'adresses. - Barème kilométrique : tranches multiples par puissance fiscale, borne max exclusive avec 'illimité' (KmMax nullable), coefficient à 3 décimales, recopie du dernier barème connu. - Résumés mensuel/annuel, montants réglés, régularisation, export PDF. Frontend (Angular 22, zoneless + signals) : - Consultation par jour, navigation temporelle synchronisée, carte Leaflet, formulaire de trajet (adresses nommées, domicile, autocomplétion BAN). - Détection de changement zoneless (indépendante de zone.js). Hébergement : Docker Compose (nginx + backend), scripts run-dev.sh / run-docker.sh.
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# ---- Étape build (SDK) ----
|
||||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||
WORKDIR /src
|
||||
COPY *.sln ./
|
||||
COPY TrajetKmTracker.Api/*.csproj TrajetKmTracker.Api/
|
||||
RUN dotnet restore TrajetKmTracker.Api/TrajetKmTracker.Api.csproj
|
||||
COPY . .
|
||||
RUN dotnet publish TrajetKmTracker.Api/TrajetKmTracker.Api.csproj -c Release -o /app/publish
|
||||
|
||||
# ---- Étape runtime (ASP.NET) ----
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
|
||||
WORKDIR /app
|
||||
|
||||
# curl est requis pour le HEALTHCHECK Docker (l'image aspnet ne l'inclut pas par défaut).
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=build /app/publish .
|
||||
|
||||
# Répertoire du volume pour la base SQLite persistée
|
||||
RUN mkdir -p /data
|
||||
VOLUME ["/data"]
|
||||
|
||||
# La base SQLite est stockée sur le volume monté ; le chemin est fourni via la chaîne de connexion
|
||||
ENV ConnectionStrings__Default="Data Source=/data/trajets.db"
|
||||
ENV ASPNETCORE_URLS="http://+:8080"
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
# Sonde de santé intégrée à l'image (utilisée aussi par Docker Compose).
|
||||
HEALTHCHECK --interval=30s --timeout=5s --retries=3 --start-period=20s \
|
||||
CMD curl -f http://localhost:8080/health || exit 1
|
||||
|
||||
ENTRYPOINT ["dotnet", "TrajetKmTracker.Api.dll"]
|
||||
Reference in New Issue
Block a user