Expertises · Ingénieur logiciel indépendant · Benfeld (67)
Ce sur quoi j'interviens : .NET, modernisation, IA, Next.js
- .NET 10 LTS
- C# 14
- Blazor / SignalR
- Next.js 16
- React 19
- TypeScript
- Tailwind v4
- PostgreSQL
- Format
- Régie dans vos équipes - en direct, via une ESN ou une plateforme
- Tarif
- Un seul TJM, communiqué dans ma première réponse, avec ma disponibilité - facturation mensuelle sur les jours réellement travaillés
- Délai
- Réponse sous 24 h ouvrées, avec ma disponibilité réelle
- Zone
- Sur site de Strasbourg à Sélestat - Erstein, Benfeld, Obernai - déplacements inclus ; remote partout en France
ASP.NET Core, C# et reprise d'existant
C'est le cœur du métier, et le cœur du marché local : les offres publiées dans le Bas-Rhin demandent du .NET, du legacy et des secteurs réglementés. Je travaille en .NET 10 LTS, supporté jusqu'en novembre 2028 - une DSI achète d'abord une date de fin de support. Et je reprends l'existant : une application que plus personne ne veut toucher est un point de départ normal, pas une exception.
Stack et pratiques
- C# 14, ASP.NET Core, Minimal APIs, EF Core, MediatR, FluentValidation, Serilog
- Blazor et SignalR pour les superviseurs et les écrans temps réel
- Clean Architecture, DDD, CQRS · tests xUnit et tests d'intégration
- PostgreSQL, SQL Server, SQLite, MariaDB · Redis pour le cache
- OpenID Connect, JWT, limitation de débit, observabilité OpenTelemetry
- Microsoft 365, Entra ID, Graph API, Key Vault, Azure Service Bus
- Hangfire et Quartz.NET pour les traitements planifiés
- Docker, Azure DevOps Pipelines, GitHub Actions, déploiement en France
Ce qu'on me confie
- Migration .NET Framework vers .NET 10 LTS : inventaire des dépendances, montée par lots, non-régression avant refactoring
- WinForms vers le web : le métier est dans le code, il se transporte écran par écran, pas en réécriture d'un bloc
- Dette technique bancaire : batchs, flux de virement et de prélèvement, procédures stockées, code sans test ni documentation
- Applications .NET qui dialoguent avec un socle COBOL, mainframe ou AS/400 : c'est le décor courant des SI bancaires et industriels d'ici, pas un cas limite
- Applications métier et back-offices : outils internes, plateformes de gestion, API REST documentées en OpenAPI
- Secteurs réglementés : paiement DSP2, monétique, cryptologie, industriel temps réel connecté à SAP
Ce qui l'atteste
- Cinq ans de paiement réglementaire chez Euro-Information (Crédit Mutuel), de décembre 2019 à mars 2025
- Référent technique sur les tests unitaires automatisés et le déploiement continu chez Euro-Information Développement
- Mission industrielle en cours depuis avril 2025 pour Hager Group, via une ESN partenaire : serveur de marquage des lignes d'extrusion, .NET 10, Blazor, SignalR, SAP
- Un seul TJM, communiqué dans ma première réponse · réponse sous 24 h ouvrées
LLM, RAG et MCP dans vos applications
Le frein n'est ni le prix ni le RGPD : 65 % des dirigeants qui n'utilisent pas l'IA disent ne pas parvenir à identifier un cas d'usage (Bpifrance Le Lab, 13 janvier 2026). Je pars donc de vos documents et de votre SI, pas d'une démonstration. Ce que j'installe : un RAG dont chaque réponse cite le document et le paragraphe d'où elle vient, une extraction de documents en conteneur sur votre serveur, un assistant métier branché sur votre ERP ou votre GED par MCP. Le tout en .NET 10 LTS, chaque étape versionnée, testée et rejouable - aucune plateforme no-code. Les modèles Mistral sont sous licence Apache 2.0 : auto-hébergeables, affinables, sans redevance au token. Où vont les données et ce que coûte l'infrastructure sont dits avant de signer, et un cadrage se termine parfois par : ce cas d'usage ne justifie pas d'IA.
Le détail technique : RAG, MCP, modèles et coûtsStack et pratiques
- MCP : spécification 2026-07-28, gouvernée par la Linux Foundation · SDK MCP C# 2.2, Apache 2.0
- Microsoft.Extensions.AI et Microsoft.Extensions.VectorData pour l'abstraction côté .NET
- RAG sur Postgres + pgvector : index HNSW, découpage et recette des réponses
- Modèles Mistral (Apache 2.0) : Ministral 3, Small 4, Large 3 · Mistral OCR 4 en conteneur
- Inférence vLLM pour le multi-utilisateurs, llama.cpp pour le poste isolé
- AI Act article 50, applicable depuis le 2 août 2026 : signalement de l'interaction, marquage des contenus
Ce qu'on me confie
- Prouver un premier cas d'usage sur vos documents, avec un gain de temps mesuré avant et après
- Assistant documentaire interne dont les poids du modèle et l'index vectoriel restent sur vos machines
- Extraction de documents sans envoi de PDF à un tiers, avec relecture humaine
- Serveur MCP maison exposant votre ERP ou votre GED à un client LLM, versionné et testé comme du code .NET
Ce qui l'atteste
- En Alsace, 28 % des entreprises utilisent l'IA et 14 % l'envisagent (Point Eco Alsace)
- Au TJM, en régie ou en mission courte cadrée
- Budget d'infrastructure annoncé au démarrage, pas découvert en cours de route
Next.js 16, React 19 et TypeScript
Le front est un support, pas la vitrine : dans le Grand Est, les offres .NET sont nettement plus nombreuses que les offres React. Je prends les missions front quand elles s'appuient sur un back .NET, quand une équipe produit a besoin d'un renfort TypeScript, ou quand un site public doit être rendu côté serveur pour être lisible par les moteurs. Next.js 16 en App Router, React 19, TypeScript en mode strict, Tailwind v4.
Stack et pratiques
- Next.js 16 : App Router, Server Components, Server Actions, rendu partiel préalable
- React 19 et TypeScript strict · Vite quand une SPA se justifie
- Tailwind v4, jetons sémantiques, thème clair et sombre sans duplication de classes
- État : hooks React 19, TanStack Query, Zustand selon la complexité réelle
- Formulaires react-hook-form et validation zod · routage App Router ou React Router
- Tests Vitest, React Testing Library, Playwright · ESLint et vérification de types en CI
- SEO technique : Schema.org, sitemap dynamique, canoniques, hreflang, images OG
- Accessibilité WCAG AA vérifiée à l'outil et au clavier
Ce qu'on me confie
- Renfort front en régie dans une équipe produit : nouvelles fonctionnalités, revues de code, montée en compétence sur l'App Router
- Front React ou Next.js branché sur un back existant, .NET ou autre
- Refonte progressive d'un front ancien : coexistence, écran par écran, sans réécriture d'un bloc
- Migration d'un site vers Next.js avec préservation du référencement : redirections 301 de toutes les URL, contenus repris
- Systèmes de composants : primitives typées, documentation, tests d'accessibilité
Ce qui l'atteste
- Ce site est un exemple public : Next.js 16, React 19, Tailwind v4, TypeScript strict
- Redirections et codes de statut traités comme du code, pas comme un réglage de dernière minute
- Même TJM que les missions .NET
Un seul interlocuteur, du code à la mise en ligne
Un seul interlocuteur du code à la mise en ligne : back .NET, front React ou Next.js, base PostgreSQL, conteneurs, chaîne d'intégration continue. L'intérêt n'est pas de toucher à tout, c'est de supprimer les frictions de coordination entre trois prestataires qui se renvoient la responsabilité d'une panne.
Stack et pratiques
- Back .NET 10 / C# (ASP.NET Core, EF Core, Clean Architecture, DDD, CQRS) · Node.js quand l'équipe est déjà dessus
- Authentification OpenID Connect, OAuth 2, JWT, cookies HttpOnly · API REST documentées en OpenAPI
- Front React 19 et Next.js 16, Tailwind v4, accessibilité WCAG AA
- PostgreSQL en préférence : index, plans d'exécution, migrations versionnées EF Core
- Docker et Docker Compose, images Alpine, Traefik ou Nginx avec TLS automatique
- Intégration continue Azure DevOps ou GitHub Actions, déploiement rejouable
- Journalisation, métriques et alertes posées en même temps que la mise en production
Ce qu'on me confie
- Reprise d'un projet existant : revue de code et audit, plan de stabilisation, refactoring ciblé
- Modernisation progressive d'un legacy par étranglement, sans bascule d'un bloc
- Outil métier de bout en bout pour une PME qui se numérise : back-office et front-office
- Renfort senior aux côtés d'une équipe fondatrice, du premier commit à la mise en production
- Plateforme d'association ou de collectivité avec données hébergées en France
Ce qui l'atteste
- Le code, le dépôt et les secrets sont chez vous dès le premier commit
- Restitution des accès et documentation en fin de mission
- En direct, via une ESN ou une plateforme
L'hébergement et l'exploitation dans la durée ne relèvent pas de la régie : pour un projet clé en main avec infogérance, c'est Sanfytech, le studio que j'ai cofondé à Strasbourg, sur des serveurs OVHcloud en France.
FAQ
Questions fréquentes
Que devient le code que vous écrivez en régie ?
Il est à vous. Le code, le dépôt et les secrets sont chez vous dès le premier commit : je travaille dans votre organisation Git, pas dans la mienne, et je ne conserve aucune copie. En fin de mission, les accès sont restitués et la documentation d'exploitation reste dans le dépôt.
Intervenez-vous via une ESN ?
Oui : en direct, via une ESN ou une plateforme, au même tarif. La mission industrielle en cours depuis avril 2025 passe par une ESN partenaire. Si votre référencement fournisseurs impose un intermédiaire, dites-le au premier échange, cela ne change ni le TJM ni la façon de travailler.
Reprenez-vous une application sans tests ?
C'est le cas le plus courant, et c'est un point de départ normal. L'ordre ne change pas : caractériser avant de modifier. On écrit d'abord des tests de non-régression sur les chemins critiques, on met en place une chaîne d'intégration continue qui échoue quand quelque chose casse, puis on refactorise par lots. Pas de réécriture d'un bloc : elle se termine mal et elle se voit au bout de six mois.
Faites-vous encore du front seul ?
Oui, en Next.js 16 et React 19, mais c'est un support et non l'axe principal : le marché du Bas-Rhin demande d'abord du .NET et de la reprise d'existant. Je prends les missions front quand elles s'appuient sur un back .NET, quand une équipe produit a besoin d'un renfort TypeScript, ou quand un site public doit être rendu côté serveur.
Une mission à cadrer ?
Décrivez le contexte, la stack et la durée. Je réponds avec ma disponibilité réelle et mon préavis - ou un non franc si je ne peux pas la prendre.
Réponse sous 24 h ouvrées, avec ma disponibilité réelle