Full Stack .NET / Blazor @CPEG Genève

Salut, moi c'est Mehdi.

Depuis 2016, je conçois et modernise des applications métier en C#, ASP.NET Core, Blazor et Angular, de la banque à la logistique. Ce site est mon carnet de bord : ce que je construis, ce que j'apprends, ce que je recommande.

En poste à la CPEG · ouvert aux échanges tech

Mehdi.cs
// depuis 2016, du code qui tourne
public sealed class Ingenieur
{
    public string Nom  => "Mehdi Fattore";
    public string Ville => "Genève (CH)";

    public string[] Quotidien =>
    [
        "C#", "ASP.NET Core", "Blazor",
        "Angular", "SQL Server", "Azure DevOps"
    ];

    public string Credo =>
        "Du code qu'on relit sans soupirer.";
}

parcours.stats · validé en production

expérience
10 ans de .NET
banque → prévoyance
6 contextes métier
flux bancaires IBM MQ
des millions d'utilisateurs
SI RH Start People
des dizaines de milliers de paies

// /src/savoir-faire.props

Ce que je fais le mieux

Trois domaines où je passe l'essentiel de mon temps, et où j'apporte le plus.

Backend & données

Des APIs REST et GraphQL, des flux bancaires IBM MQ dimensionnés pour des millions d'utilisateurs, et beaucoup de SQL. Mon réflexe : modéliser juste, indexer juste, et lire le plan d'exécution avant d'accuser l'ORM. SQL Server est mon terrain principal ; Oracle et NHibernate font partie du paysage.

backend.props
C#ASP.NET CoreEF CoreNHibernateSQL ServerOracleGraphQLAPI REST

Front Blazor & Angular

Angular depuis la version 4, Blazor par conviction. Je construis des interfaces métier qui durent, avec des composants réutilisables et des tests. Le front n'est pas une couche de peinture : c'est là que les utilisateurs jugent tout le reste.

frontend.props
BlazorAngularTypeScriptTailwind CSSRxJSAngular Material

Qualité & delivery

J'ai migré des équipes de SVN vers Azure DevOps, monté des pipelines CI/CD avec GitFlow et SonarQube, et réécrit du legacy sans interrompre le service. La qualité n'est pas une phase du projet : c'est une habitude d'équipe, vérifiée à chaque commit.

delivery.props
Azure DevOpsGitHub ActionsCI/CDSonarQubePlaywrightSpecFlowxUnitSOLID

// /src/projets.sln

Ce que je construis à côté

Des projets réels, avec de vrais utilisateurs et de vraies contraintes.

Site vitrine · Client réel CK

CK Event, traiteur et événementiel

en production

Le site d'un traiteur événementiel, conçu de bout en bout : design system, SEO local, formulaire protégé par rate limiting, analytics et déploiement continu. La preuve que je sais aussi livrer hors de l'écosystème .NET.

Next.jsReactTypeScriptTailwindGitHub ActionsSEO
Voir le sitecode privé · projet client
Site vitrine · Sécurité B/W

B-W Multiservices

en production

Un site vitrine avec un formulaire de contact durci : Cloudflare Turnstile (fail closed), rate limiting distribué sur Redis, envoi d'email côté serveur, observabilité Grafana / Loki et audience mesurée en Umami auto-hébergé, derrière un consentement réversible. La rigueur des applis bancaires, appliquée à un site de proximité.

Next.jsTypeScriptCloudflare TurnstileRate limitingGrafana / LokiUmami
Voir le sitecode privé
Portfolio éditorial · i18n HB.

HB., portfolio d'une journaliste sportive

pré-lancement

Une identité « tabloïd chic » dessinée sur mesure pour une journaliste et communicante sportive : maquette éditoriale, i18n FR/EN native (routing, dictionnaires typés, SEO hreflang bilingue) et 18 tests automatisés. Livré par le même pipeline de releases que tous mes sites.

Next.jsTypeScripti18n FR/ENSEO hreflangVitest
Voir le sitecode privé
Backend · API API

EcommerceAPI, linge de maison

en construction

Un backend e-commerce complet, construit pour la boutique familiale de linge de maison : API ASP.NET Core sécurisée (JWT, Identity), approche secure by design, tests unitaires et d'intégration, quality gate SonarCloud. Mon bac à sable pour pousser les standards plus loin qu'en mission.

.NET 9ASP.NET CoreAngular 17JWT / IdentitySonarCloud
code privé
SSG · Méta .NET

Ce site, un portfolio en BlazorStatic

Un portfolio qui démontre au lieu d'affirmer : du Blazor rendu en HTML 100% statique, un pipeline avec quality gates (format, warnings-as-errors, tests bUnit, liens vérifiés), et la version que vous lisez est tracée en bas de page — livrée par gh-workflows, l'usine CI/CD commune à tout mon parc (releases SemVer, gates sécurité, double déploiement).

.NET 10BlazorStaticTailwindGitHub ActionsbUnit
Supervision · Observabilité LV

La Vigie, supervision du parc

en production

Le poste de vigie de l'écosystème, en production sur son VPS : une application Blazor Server conteneurisée qui surveille les 4 sites publics et les applications privées du VPS, gestionnaire financier compris — disponibilité, latence et certificats TLS, dérive entre la version publiée et le dernier CI vert, pipelines gh-workflows, audience Umami auto-hébergée — et qui alerte sur Discord, derrière une connexion à second facteur.

.NET 10Blazor ServerDockerVPS OVHUmamiSupervision
code privé
App privée · Auto-hébergement GF

Un gestionnaire financier personnel

en production

Une application de gestion financière personnelle, conteneurisée sur le même VPS, livrée par la même usine CI/CD et supervisée par La Vigie comme le reste du parc — santé, version publiée, pipeline. Volontairement discrète : ce qu'elle suit reste à la maison — elle est ici pour l'infrastructure, pas pour le contenu.

.NET 10Blazor ServerDockerVPS OVH
code privé

// /src/parcours.diff

D'IT-CE à la CPEG, dix ans de métier

Banque, industrie, logistique, retail, intérim : les contextes changent, le fil rouge reste le même. Du .NET fiable, entretenu, documenté.

05/2026 → aujourd'hui

Développeur Full Stack .NET / Blazor · CPEG · Genève

Caisse de prévoyance de l'État de Genève : développement et évolution d'une application financière transverse en .NET, Blazor et SQL Server, en collaboration étroite avec les équipes métier et techniques.

.NETBlazorSQL Server

04/2025 → 05/2026

Développeur Full Stack .NET / Angular · RGF Staffing · Lyon

SI RH à grande échelle (Start People) : des dizaines de milliers de candidats, contrats et paies. Deux architectures en parallèle, Quattro (ASP.NET MVC 4.8 / Oracle) et Leana (Angular / .NET 8 / Clean Architecture) : développement, profiling NHibernate / Dynatrace, tests xUnit et SpecFlow, CI/CD Azure DevOps.

.NET 8AngularClean ArchitectureOracleNHibernateAzure DevOps

01/2022 → 03/2025

Analyste développeur ASP.NET · STACKR

Trois ans sur GDM, l'application de gestion des magasins d'un grand retailer : migration SVN → Azure DevOps avec pipeline CI/CD (GitFlow + SonarQube), APIs GraphQL et REST, tests Playwright, équipe répartie sur 4 sites.

ASP.NETSQL ServerGraphQLAzure DevOpsPowerShellPlaywright

12/2019 → 03/2021

Ingénieur .NET / Angular · KAÏBEE

Application de transport pour XPO Logistics (jobs Azure, monitoring), puis portail de la Banque Populaire AURA : full stack .NET 4.7 / Angular 8, modernisation d'applications legacy ASP.

ASP.NETAngular 8AzureSonarQubeTFS

09/2018 → 09/2019

Ingénieur .NET · ALTECA

Applications industrielles chez SEB (ASP.NET Core MVC + Angular 4), puis agrégation bancaire 89C3 pour la Caisse d'Épargne : flux messaging IBM MQ avec reprise sur échec, conçus pour des millions d'utilisateurs.

ASP.NET CoreAngular 4IBM MQSQL ServerJenkins

01/2016 → 09/2018

Développeur concepteur · GFI (Inetum)

Premières armes sur les applications bancaires internes d'IT-CE (Caisse d'Épargne) : du NS-DK à l'ASP.NET, spécifications, chiffrage et revue de code, le tout en menant mon Master en parallèle.

C#ASP.NETTFSSpécificationsCycle en V

// /content/notes.md

Dernières notes de terrain

Ce que j'aurais aimé lire avant de le vivre : performance, architecture, outillage.

Envie d'échanger ?

Une question sur une note, un retour sur un projet, une idée de sujet ? Le formulaire arrive directement dans ma boîte mail.

Ou en direct : email · LinkedIn