Projet Country Code - Démonstrateurs techniques & Vitrine technologique
Ingénieur Développeur C# .NET – WPF • Blazor • MAUI • IA Fullstack Sénior
| Expert Modernisation
ou Migration Legacy → .NET 8+ / WPF+ / Blazor / MAUI
| Évolution • Refonte • Architecture - Développement - Tests - Production
Remote (France)
Démonstrateurs d'architecture hexagonale en C# .NET :
Ce projet présente des applications développées en C# avec .NET et utilisant le DDD (Domain-Driven Design), le Clean Code avec une architecture hexagonale.
Il propose différents adapters UI : WPF, Avalonia, Blazor, MAUI et Console
avec également plusieurs adapters infrastructure : Fichiers, BDD, API REST, IA Locale & IA Cloud.
Ces démonstrateurs illustrent comment structurer proprement un projet métier réutilisable, avec injection de dépendances, adaptateurs UI découplés, adaptateurs infrastructure indépendants et tests. Il peut servir de base à des projets professionnels modernes.
🎯 Contexte / Mission
J’ai conçu et développé une solution complète pour moderniser/migrer, rendre multiplateformes et déployer des
applications C# .NET/WPF vers des technologies récentes comme Blazor, MAUI, .NET 8/9, avec une
architecture hexagonale et des démonstrateurs techniques accessibles en ligne.
Cette solution gère notamment les cas métiers suivants :
- Trouver un code téléphonique à partir d’un pays
- Trouver un pays à partir d’un code téléphonique
Objectif : Démontrer le partage de la logique métier, moderniser une base applicative, ou
préparer/faire une
migration complète d’une application legacy.
Country Code : Side-project abouti
illustrant la transformation d’un besoin métier en applications multiplateformes avec :
- Frontends interchangeables
- Backends interchangeables
🚀 Réalisations clés
- – Architecture hexagonale orientée DDD avec moteur/domaine central et plusieurs adaptateurs métier
- – Développement de 6 adaptateurs UserInterfaces UIs multiplateformes indépendants :
- WPF (Windows Desktop)
- Avalonia (Linux/Windows Cross-Platform Desktop)
- Blazor Server (Web Serveur)
- Blazor WebAssembly (Web Assembly)
- Blazor Hybrid MAUI (Mobile)
- Console (Windows/Linux)
- – Développement de 5 adaptateurs infrastructure comme sources de données indépendantes :
- Fichiers locaux : txt, json, csv
- Base de données SQLite
- API REST HTTPS
- IA locale via Ollama entraîné et personnalisé, pour interprétation intelligente et autonome
- IA Cloud (OpenRouter, Mistral, etc.)
- – Déploiement complet sur VPS Linux avec .NET, Docker, Jenkins CI/CD avancée :
Le projet intègre une chaîne de déploiement moderne et automatisée pour déployer et rendre accessible
les applications desktop (Avalonia pour WPF multiplateforme), web (Blazor web server et Blazor web
assembly),
mobiles (Blazor Hybrid MAUI) et Console (.Net multiplateforme) hébergées sur un VPS Linux.
- Intégration continue avec versioning automatique et exécution de tests
- Publication multiplateforme : Avalonia, Blazor, MAUI, Console
- Packaging `.tar.gz` Docker, `.apk` Android, déploiement NAS/VPS
- Déploiement sécurisé via `scp`, avec gestion des anciennes versions
- Reverse proxy NGINX pour accès public
- Exécution d’UIs non-web (console, desktop, mobile) via Gotty, ThinLinc, Appetize.io
- Round-robin contrôlé via Node.js pour démonstrations simultanées
- Automatisation complète : scripts, services, monitoring, sites
- Mise en ligne de toutes les applications web et non-web
- – Une autre version avec UI/UX épurée en ligne
🛠️ Environnement technique
Windows/Linux, .NET 8/9, C#, WPF, Avalonia, Blazor Server, Blazor WebAssembly, Blazor Hybrid MAUI, Jenkins
CI/CD,
Architecture hexagonale, MVVM, Clean Code, SOLID, DDD, Linq, Tests unitaires, SQL, VPS Linux, NGINX, Docker,
Fichiers, SQLite, API REST, Ollama, OpenRouter.