Créer une App Moderne — Avalonia UI & .NET

📦 Module 10 — La livraison et le Publish

Transformer le projet de développement en application distribuable pour un vrai utilisateur.

Créer une App Moderne — Avalonia UI & .NET

📝 Changelog

  • Présentation du pipeline de publication .NET.
  • Focus sur single-file, trimming et cible runtime.
  • Clôture du parcours par un livrable desktop autonome.
Créer une App Moderne — Avalonia UI & .NET

Objectif du module

  • Compiler en mode Release.
  • Générer un exécutable Windows autonome.
  • Comprendre ce qui change entre source et livrable.
  • Préparer un paquet livrable pour démonstration ou déploiement.
Créer une App Moderne — Avalonia UI & .NET

Commande de publication

dotnet publish -c Release -r win-x64 --self-contained true \
  -p:PublishTrimmed=true \
  -p:PublishSingleFile=true
  • Cette commande cible un exécutable autonome prêt à distribuer.
Créer une App Moderne — Avalonia UI & .NET

Le concept clé: le code source n'est pas le produit livré

  • La publication choisit un runtime, un mode d'empaquetage et des optimisations.
  • Le trimming retire du code inutilisé.
  • Le single-file simplifie la distribution.
  • Le mode Release vise performance et taille maîtrisée.
Créer une App Moderne — Avalonia UI & .NET

Visualiser le livrable

Exécutable publié avec empaquetage self-contained et single-file

Créer une App Moderne — Avalonia UI & .NET

Schéma Mermaid du pipeline de release

Créer une App Moderne — Avalonia UI & .NET

Check de validation avant diffusion

  • L'application démarre sur une machine cible.
  • Le stockage local fonctionne encore.
  • Les appels HTTP et WebSocket sont configurés pour l'environnement cible.
  • La taille et le temps de démarrage restent acceptables.
Créer une App Moderne — Avalonia UI & .NET

Risques à expliquer aux étudiants

  • Le trimming peut casser certains usages de réflexion.
  • Une URL d'API codée en dur rend le paquet non portable.
  • Un exécutable unique n'évite pas les tests manuels.
  • La publication n'est pas une excuse pour négliger l'observabilité.
Créer une App Moderne — Avalonia UI & .NET

Livrable final du parcours

  • Un .exe autonome, sans prérequis pour l'utilisateur final.
  • Une application To-Do structurée en couches.
  • Un parcours complet du Hello World au client temps réel publié.