STX FileService

Plateforme B2B de gestion de fichiers moteurFull Stack, 2025 - 2026

Capture d'écran de STX FileService
95/100
Google PageSpeed
7 langues
12 700+ moteurs

STX FileService est une plateforme complète de gestion de fichiers moteur destinée aux professionnels de l'automobile. Elle comprend trois interfaces distinctes : un site public multilingue (7 langues) avec simulateur de performance, un espace client avec système de commandes par crédits, portefeuille, facturation Stripe et messagerie par tickets, et un back-office administratif complet pour la gestion des commandes, clients, contenus et traductions. La plateforme intègre un système de traduction automatique via GPT-4o mini, un stockage S3 MinIO, des emails transactionnels templates, et un SEO avancé avec URLs traduites et sitemap multilingue. La nouvelle version ajoute le traitement automatique des commandes via WinOLS et la bibliothèque de projets du client, synchronisé entre plusieurs instances sur des serveurs dédiés, avec recherche de solutions chez des revendeurs partenaires.

Contexte

Un spécialiste de solutions techniques moteur souhaitait digitaliser son activité B2B. Ses clients (préparateurs auto, garages, revendeurs) commandaient par email et WhatsApp, sans suivi ni facturation automatisée. Il avait besoin d'une plateforme professionnelle pour centraliser les commandes, gérer les paiements et proposer un catalogue de services.

Objectifs

  • Plateforme de commande en ligne avec upload de fichiers moteur et paiement par crédits
  • Espace client avec suivi des commandes, wallet, facturation et messagerie
  • Back-office admin complet pour traiter les commandes et gérer le contenu
  • Boutique en ligne pour les outils spécialisés (flash tools)
  • Simulateur de performance véhicule avec base de données 12 700+ moteurs
  • Site multilingue (7 langues) pour une clientèle européenne
  • Système de revendeurs avec tarifs dégressifs

Défis techniques

Traitement automatique des commandes via WinOLS

Chaque commande était traitée à la main. La nouvelle version devait prendre en charge le fichier reçu, le traiter dans WinOLS à partir de la bibliothèque de projets du client, puis livrer le résultat sans intervention.

Pipeline de traitement piloté par la plateforme : réception du fichier, recherche de la correspondance dans la bibliothèque de projets, traitement WinOLS, mise à jour du statut de la commande en temps réel et notification du client.

Synchronisation entre plusieurs instances

Plusieurs instances de traitement tournent en parallèle et doivent partager la même file de commandes et la même bibliothèque de projets, sans doublon ni conflit.

File de commandes centralisée avec attribution exclusive de chaque commande à une instance, synchronisation de la bibliothèque entre instances et remise en file automatique si une instance s'arrête.

Serveurs dédiés pour le traitement

Le traitement WinOLS demande un environnement Windows et des ressources propres, séparées du site web et de l'espace client.

Serveurs dédiés au traitement, orchestrés depuis la plateforme via une communication sécurisée, avec supervision de leur disponibilité et de leur charge.

Recherche de solutions chez les revendeurs

Quand la bibliothèque du client ne contient pas de solution pour un véhicule, la commande ne doit pas rester bloquée.

Recherche automatique chez des revendeurs partenaires, intégrée au flux de commande, pour obtenir et importer la solution manquante.

Système de crédits et wallet

Le client voulait un système de prépaiement par crédits plutôt que du paiement à la commande, avec des packs dégressifs et des remises revendeurs.

Architecture wallet avec transactions tracées, intégration Stripe Checkout pour la recharge, calcul automatique des remises revendeur, et génération de factures PDF.

Traduction automatique multilingue

7 langues à prendre en charge avec 950+ clés de traduction UI, du contenu dynamique CRUD (stages, options, FAQ, produits) et des emails templates — impossible à maintenir manuellement.

Système de traduction en 3 couches : clés statiques UI seedées en DB, contenu dynamique avec format table.id.champ créé automatiquement au CRUD, et traduction batch via GPT-4o mini avec job asynchrone et progression temps réel.

SEO i18n avec URLs traduites

Chaque page devait avoir une URL traduite (/fr/services, /de/leistungen, /es/servicios) avec hreflang, sitemap multilingue et metadata traduits pour le référencement dans chaque pays.

Architecture [locale]/(public)/ avec middleware de rewrite (slug traduit vers route canonique), generateStaticParams pour les 7 locales, sitemap dynamique avec alternates, et JSON-LD structuré.

Simulateur de performance véhicule

Base de données de 12 700+ moteurs avec marques, modèles, générations, motorisations, stages et gains de puissance/couple — import depuis un JSON de 15 Mo.

Schéma normalisé à 6 niveaux (type > marque > modèle > génération > moteur > stage), script de seed avec extraction automatique des puissances depuis les noms de moteurs, widget de navigation en cascade avec recherche.

Emails transactionnels traduits

17 types d'emails différents (bienvenue, statut commande, recharge, tickets, reset password, alertes admin) devant être envoyés dans la langue du destinataire avec un design dark theme cohérent.

Templates React Email avec layout partagé (header logo, footer), helper getEmailTranslator(locale) qui charge les traductions depuis la DB, envoi via Nodemailer SMTP non-bloquant, et preview admin responsive (desktop/tablet/mobile).

Carte partenaires Google Maps

L'admin devait pouvoir ajouter des partenaires juste en collant un lien Google Maps partagé (share.google/...), sans saisir manuellement les coordonnées.

Backend qui suit la chaîne de redirections du lien partagé, extrait le nom du lieu, appelle l'API Google Places pour récupérer coordonnées, adresse, téléphone, site web et description. Pré-remplissage automatique du formulaire admin.

Sécurité et protection anti-bot

Protéger les formulaires publics (inscription, connexion, mot de passe oublié) contre le brute force et le spam sans dégrader l'expérience utilisateur.

Cloudflare Turnstile en mode managed (invisible pour les utilisateurs légits, challenge si doute), vérification serveur avec bypass automatique en dev, CSP stricte, HSTS preload, et validation MIME sur les uploads.

Vues de l'application

  • Page d'accueil STX FileService
    Site public multilingue avec présentation des services techniques
  • Simulateur de performance véhicule
    Simulateur avec base de données de 12 700+ moteurs
  • Interface de commande
    Commande de fichiers moteur avec upload et paiement par crédits
  • Espace client
    Dashboard client avec wallet, commandes et messagerie par tickets
  • Back-office administrateur
    Administration complète : commandes, clients, contenus et traductions
  • Programme revendeurs
    Système de revendeurs avec tarifs dégressifs

Technologies

  • Next.js 15
  • TypeScript
  • MUI 7
  • Framer Motion
  • Prisma 7
  • MariaDB
  • MinIO (S3)
  • Stripe Checkout
  • NextAuth.js v5
  • Nodemailer
  • React Email
  • OpenAI GPT-4o mini
  • Google Maps API
  • Cloudflare Turnstile
  • Docker