Le Contexte
Notre client, une PME industrielle, s'appuie au quotidien sur l'ERP WaveSoft pour l'ensemble de sa gestion commerciale. Si l'outil est performant pour la facturation et les devis, le tableau de bord natif montrait ses limites sur la partie logistique.
Les équipes opérationnelles manquaient de visibilité en temps réel sur les niveaux de stock critiques, et aucune alerte n'existait pour prévenir les ruptures imminentes.
La Problématique
L'absence de monitoring automatisé entraînait des ruptures de stock fréquentes sur des composants essentiels, paralysant parfois la production pendant plusieurs jours.
Les gestionnaires de stock étaient contraints à des vérifications manuelles chronophages, basculant dans une logique de réaction plutôt que d'anticipation — avec un impact direct sur le chiffre d'affaires.
Notre Solution
Nous avons conçu et déployé une application sur-mesure basée sur Laravel 10 et Filament 3 comme panel d'administration, agissant comme une surcouche intelligente à WaveSoft. Le choix de Filament nous a permis de livrer un back-office riche et ergonomique (CRUD, widgets, tableaux de bord) dans un délai court, tout en gardant un code propre et maintenable.
Des Jobs Laravel asynchrones interrogent la base WaveSoft et synchronisent les articles, dispatchés par le Task Scheduler toutes les 6 heures. Les Notifications Laravel sont poussées en queue (database driver) : e-mail via SMTP et SMS, déclenchées sur seuils configurables.
L'ensemble repose sur le Scheduler de Laravel (php artisan schedule:run) piloté par un CRON système. Chaque cycle déclenche un Job de synchronisation qui compare l'état des stocks WaveSoft avec les seuils définis dans Filament, puis dispatch les notifications appropriées en file d'attente.
Architecture Technique
Le socle applicatif repose sur PHP / Laravel 10 avec Filament 3 comme panel d'administration. L'accès aux données s'appuie sur Eloquent ORM et le Query Builder pour les requêtes complexes sur la base WaveSoft. Les alertes transitent par le système de Notifications Laravel (Mail + SMS).
Côté infrastructure, l'application dispose de sa propre base MySQL 8 et se connecte en lecture seule à la base SQL Server de WaveSoft. Les notifications sont traitées via des Queues (database driver) pour ne pas bloquer les requêtes utilisateur. Le Task Scheduler de Laravel, piloté par un CRON système, orchestre les synchronisations toutes les 6 heures. Le tout est hébergé sur un VPS dédié sous Nginx + PHP-FPM.