Remplacer les anciens systèmes sans les éteindre.

Sharpsoft, c'est Luc. Je reprends des logiciels qui tournent depuis des décennies et auxquels plus personne n'ose toucher, et je les reconstruis pièce par pièce — pendant qu'ils continuent de tourner. En parallèle naissent de nouvelles applications : sur le web, sur Android, dans le cluster.

Ce qui est remplacé

Tiré de migrations réelles : le système en place — et ce qui tourne aujourd’hui à sa place.

AvantAprès
Client Delphi sur chaque PC
Angular dans le navigateur
Sybase ASE
PostgreSQL
Monolithe Java
Go, services découplés
HTML généré par le serveur
Angular, prérendu en fichiers statiques
Export complet nocturne
Synchronisation différentielle, à la minute
Invisible pour les moteurs de recherche
Données structurées, sitemaps, Google Merchant

Étude de cas

ABW Autoverwertung abw.ch

L'entreprise tournait sur une application Delphi avec une base Sybase — stock, prix, factures. Elle a d'abord été portée vers Java, puis pièce par pièce vers Go. À côté se trouve désormais une boutique en ligne qui rend tout l'inventaire consultable publiquement, sans jamais toucher directement à cette base.

108’300pages de pièces par langue, allemand et français — chacune prérendue avec son propre titre, sa description et ses données structurées.

Un worker Java ne recopie de Sybase vers PostgreSQL que ce qui a changé, et convertit les images en WebP. Une API Go ne sert que PostgreSQL. Les commandes passent par la QR-facture suisse, TWINT et PayPal. Le catalogue entier part aussi vers Google Merchant Center sous forme de flux — chaque pièce comme produit à part entière.

Ce que je fais

Migration de systèmes existants

L'ancien système reste en production et devient la source des données. La nouvelle architecture grandit à côté, reprend la charge et les fonctions, jusqu'à ce qu'il ne reste de l'ancien que ce qui est réellement nécessaire. Pas de date de bascule, pas d'interruption, aucune donnée perdue.

Sybase, Oracle, DB2, PostgreSQL, Java, Go

Nouvelles applications

Applications web, outils internes, interfaces et l'infrastructure qui les porte. Du premier croquis à l'exploitation dans un cluster Kubernetes — par une seule personne, qui comprend aussi la base de données.

Angular, Go, Rust, PostgreSQL, Kubernetes

Agents IA et Claude

Des agents qui travaillent sur de vrais systèmes — la base de code, la file de tickets, la base de données — et non sur une démonstration. Avec des bancs d'essai qui mesurent si le résultat est réellement meilleur, et la franchise de dire où l'effort n'en vaut pas la peine.

Claude, Claude Code, MCP, agents, RAG, évaluation

Visibilité dans les moteurs de recherche

Le référencement comme problème d'ingénierie : des pages livrées en HTML complet plutôt qu'en coquille JavaScript vide, des données structurées, des sitemaps propres, des chargements rapides. Pour qu'un catalogue de dizaines de milliers de références soit réellement trouvé.

Prérendu, JSON-LD, sitemaps, Google Merchant, Core Web Vitals

Ce que j'ai construit

lernja lernja.ch

Plateforme d'apprentissage pour les écoles suisses et les adultes. Cinq langues dont le romanche, des exercices en micro-frontends indépendants, multi-tenant.

Angular, Go, gRPC, Kubernetes

KISSDesk

Bureau à distance sur un seul port. Pas de VPN, pas de redirection de port, pas de plugin — la machine se connecte d'elle-même et le navigateur décode l'image directement.

Rust, WebCodecs, Redis, Kubernetes

MuPlay

Lecteur Android pour la musique et les livres audio hébergés sur votre propre serveur. Chaque livre retient sa position ; lecture sur Sonos et en voiture.

Android, Kotlin, Subsonic, DLNA

helios57/muplay

FamilyGuard

Gestion des appareils familiaux sur du matériel qui vous appartient. Des règles pour les applications et le temps d'écran, sans que les données quittent la maison.

Android Device Owner, Go, PostgreSQL

helios57/familyguard

Open source

Des outils nés de projets réels, restés publics.

mtrail/adjudicatoradjudicator.ch

Une plateforme de compétition pour agents joueurs d'échecs. Règles FIDE, cadences, classement Elo et un tableau de bord qui suit les parties en direct — conçue pour des programmes plutôt que pour des humains, donc l'interface d'abord.

Go, gRPC, gRPC-Web, Angular, MIT

helios57/protogen

Un plugin Maven qui transforme les fichiers .proto en records Java tournant sur le seul JDK : pas de bibliothèque protobuf, pas de Netty, pas de protoc dans le build. Les octets restent compatibles avec protoc, vérifiés par une suite différentielle.

Java 17, Maven Central, MIT

helios57/NgGoRPC

gRPC sur une seule connexion WebSocket, directement entre Angular et Go. Aucun proxy Envoy au milieu, plusieurs appels multiplexés sur la même connexion.

TypeScript, Go, WebSocket, MIT

helios57/palworld

Un planificateur d'élevage pour Palworld. La sauvegarde est lue dans le navigateur même, et l'outil calcule le chemin le plus court entre les créatures possédées et celle visée. Rien n'est téléversé, il n'y a pas de serveur.

TypeScript, GitHub Pages, MIT

Contact

Un ancien système à remplacer, ou quelque chose de neuf à construire ? Écrivez-moi.

Sharpsoft