Léman IT
RéalisationsAppel diagnostic
Toutes les réalisations
Gold MerchandisingReprise de projet · Gold Merchandising

Reprise d'une plateforme SaaS bâtie en no-code : audit de sécurité, fiabilisation et sortie de la dépendance technique

Reprendre l'existant sans rien casser de ce qui tournait, fermer les failles critiques, et rendre au client la maîtrise de son code et de son infrastructure.

Client
Gold Merchandising, agence de merchandising et de pose de mobilier en magasin (cible historique : Nocibé, cosmétique sélective)
Rôle
Développeur fullstack & architecte technique (reprise)
Capture du projet Gold Merchandising

Le contexte

La plateforme de Gold Merchandising, un SaaS multi-rôles pour piloter des missions de pose en magasin, avait été construite sur Lovable par une personne non-développeuse. Elle fonctionnait et était utilisée en production, mais reposait entièrement sur la plateforme no-code, avec une dette technique accumulée et plusieurs failles de sécurité critiques signalées mais jamais vérifiées.

Vue installateur : chaque poseur ne voit que les missions de son équipe, jamais le listing global.
Vue installateur : chaque poseur ne voit que les missions de son équipe, jamais le listing global.

Ce qui a été fait

  1. 1

    Sortie de la plateforme no-code et infrastructure propriétaire

    Dépôt Git versionné, images Docker et déploiement Coolify multi-environnements (production, staging) sur VPS Contabo, configuration Supabase injectée au démarrage du conteneur. Le client possède désormais son code et son serveur, sans dépendance à un éditeur tiers.

  2. 2

    Audit de sécurité et correction en production

    Audit technique complet, puis correction des failles confirmées exploitables sur la base réelle : élévation de privilège (n'importe quel compte connecté pouvait se déclarer administrateur via l'API), lecture ouverte de la table des utilisateurs, fuite des tarifs clients et des marges vers les sous-traitants. Consolidation d'environ 70 policies RLS redondantes héritées du no-code en une règle claire par table et par action.

  3. 3

    Remise à niveau de la fiabilité

    Machine à états des missions reconstruite (statut dérivé par déclencheur PostgreSQL), notifications générées par déclencheurs, tâche planifiée pg_cron pour les alertes de documents expirés, procédures stockées transactionnelles pour la préfacturation et la validation client, stockage de fichiers migré vers un bucket S3 privé avec URLs présignées émises côté serveur après contrôle d'accès, mise en place de Sentry.

  4. 4

    Authentification sans mot de passe

    Passage à la connexion par lien magique (plus aucun secret réutilisable à voler ou à rejouer) et fonction d'impersonation réservée aux administrateurs pour le support.

  5. 5

    Fonctionnalité « Update campagne 2026 »

    Campagnes multi-magasins avec équipes de pose cloisonnées (chaque poseur ne voit que les missions de son équipe), pas à pas de reporting guidé (photos avant/après, PLV, SAV), import du planning depuis Excel (la couleur de chaque ligne détermine l'équipe), interface trilingue FR/DE/EN, accès observateur en lecture seule pour les contacts côté client. Mise en production de la vraie campagne : 109 magasins, 7 équipes.

Le pas à pas de reporting guidé : photos avant/après, PLV, SAV, étape par étape.
Le pas à pas de reporting guidé : photos avant/après, PLV, SAV, étape par étape.

Stack technique

  • React 18
  • Vite
  • TypeScript
  • Supabase (PostgreSQL, RLS, Edge Functions, pg_cron)
  • TanStack Query
  • Tailwind / shadcn
  • Contabo S3
  • Sentry
  • i18next
  • Docker / Coolify

Ce que ça change

Une plateforme qui n'est plus prisonnière d'un éditeur no-code, dont le client possède intégralement le code et l'infrastructure. Des failles de sécurité fermées avant qu'elles ne coûtent cher, en particulier la fuite de marges à des prestataires externes. Une base technique capable d'accueillir de nouvelles campagnes clients sans tout réécrire.

Résultats concrets

Une quarantaine de migrations de sécurité et de fonctionnalités livrées et appliquées en production, failles critiques fermées et vérifiées, campagne Nocibé de 109 magasins et 7 équipes mise en ligne, code base assainie (zéro erreur de typage, environ 145 fichiers morts supprimés).

Écran de réception : déclaration de l'état des PLV reçues par magasin.
Écran de réception : déclaration de l'état des PLV reçues par magasin.

La première conversation est un diagnostic, pas un appel commercial.

Nous regardons votre produit existant, comprenons votre situation, et vous disons honnêtement ce qu'exige une reconstruction, avant même de parler de périmètre ou de prix.

Alignez votre business et votre code
Léman IT

The technical co-founder you never had. Headquartered on the shores of Lake Geneva. Building SaaS platforms that survive scale.

MMXXV · Genève

Practice

  • SaaS V2 Rebuilds
  • Zero-Downtime Migration
  • AI-Ready Architecture
  • Admin Dashboards

Stack

  • Next.js · React
  • Node.js · Postgres
  • Supabase · Vector DB
  • ClickUp · Sprints

Company

  • About
  • Our Work
  • Client Stories
  • Diagnostic Call
↑ Top

© Léman IT SARL · All rights reserved.

PrivacyTermsGDPR · HDS