Création d'un système complexe de gestion de ZAE et leurs entreprises
Refonte complète du système de gestion des Zones d’Activités Économiques (ZAE) pour HopLunch, incluant la création, l’organisation, le suivi des zones desservies, ainsi que l’ajout de nombreuses fonctionnalités et l’amélioration de l’architecture technique.
Galerie du projet
Parcourez les visuels du projet
Technologies utilisées
Stack technique et outils employés pour ce projet
Contexte du projet
HopLunch propose un service de restauration en entreprise, nécessitant une gestion fine des zones de livraison (ZAE) et des entreprises éligibles. Le processus existant d'ajout de ZAE et d'entreprises reposait sur des fichiers Excel et des échanges multiples entre managers de ville et développeurs, entraînant lenteur et risques d'erreurs. L'objectif était d'unifier et automatiser l'ensemble du flux : création de ZAE, association des villes, récupération des entreprises via l'API Sirene et validation dans le Back-Office.
Objectifs
- Remplacer l'ancien système basé sur des fichiers Excel par un flux 100% automatisé.
- Permettre la création de ZAE via polygone de coordonnées (WKT/GeoJSON) directement dans le Back-Office.
- Intégrer l'API Sirene pour importer et filtrer automatiquement les entreprises.
- Mettre en place un système asynchrone pour les imports massifs afin d'éviter le blocage du Back-Office.
- Améliorer la gestion des villes associées et leur liaison avec les ZAE.
Équipe projet
Client
HopLunch
Développeur
Moi-même
Chef de projet
Lead Technique interne
Fonctionnalités clés
Les principales fonctionnalités développées pour ce projet
Création et édition de ZAE via polygones WKT/GeoJSON.
Association automatique de villes aux ZAE via filtres géographiques et recherche.
Import intelligent des entreprises via API Sirene, avec filtres (APE, position GPS, validité adresse...).
Conversion asynchrone des entreprises de l'API Sirene en entreprise en base de données.
Commandes Symfony pour la synchronisation quotidienne et la purge régulière des données invalides.
Solutions techniques
Architecture et choix techniques pour répondre aux besoins
Symfony 6 avec EasyAdmin pour une interface de gestion ergonomique.
Gestion avancée des polygones WKT/GeoJSON et conversion des coordonnées Lambert93 ⇄ WGS84.
Intégration complète de l'API Sirene v3.11 pour la récupération des entreprises (Insee).
Symfony Messenger pour les tâches asynchrones (import, conversion, synchronisation).
Environnement de développement sous Docker avec snapshots de base de données et automatisation des migrations.
Défis relevés
Les principaux challenges techniques et fonctionnels du projet
Performance
Optimisation des requêtes API et des traitements asynchrones pour des imports rapides et fiables.
Fiabilité des données
Validation stricte des adresses via Google Maps et élimination des entreprises incompatibles.
Automatisation
Mise en place de tâches planifiées (cron) pour la synchronisation continue des données.
Résultats obtenus
Les bénéfices et impacts mesurés du projet
Réduction drastique du temps d'intégration des ZAE et entreprises (de plusieurs jours à quelques minutes).
Autonomie totale des managers de ville pour la gestion de leurs ZAE et entreprises.
Base d'entreprises enrichie et constamment actualisée grâce à l'API Sirene.