+33 1 42 68 65 35

Géolocalisation Ruby avec GoogleMaps et ARS

L’application web de géo localisation permet de rechercher, autour d’une adresse donnée, les praticiens conventionnés les plus proches.

Les données sont rafraichies chaque nuit par un processus ETL, puis mis à disposition via une application web qui présente également un volet web-service.

L’ETL se compose de deux parties: une première est intégrée au traitement du Datawarehouse du client afin de mutualiser certains traitements, code et données. La seconde partie est intégrée au serveur de l’application et traite le résultat de la première partie pour réintégrer les données dans l’architecture cible.

L’application utilise le logiciel open-source ActiveWarehouse-ETL et réalise notamment les tâches suivantes:

  • extraction des partenaires depuis ARS (Action Request System de BMC Software)
  • vérification des champs présents dans l’extraction
  • suppression des partenaires qui ne sont pas à afficher en fonction des droits des utilisateurs.
  • transformation/mapping des sous-catégories
  • mapping des catégories
  • nettoyage de l’adresse
  • détection des départements d’outre-mer et ajout du nom de l’île pour que le géocodage Google fonctionne
  • géocodage via Google V2 (3 algorithmes successifs pour atteindre un taux d’échec minimal) – en attente de migration vers la V3
  • vérification des champs présents avant export
  • “screens” de test sur des données représentatives
  • les données déjà présentes sont marquées pour effacement dans la base de données (MySQL)
  • le fichier transmis est parcouru ligne à ligne
  • une nouvelle entrée est créée pour chaque partenaire conventionné
  • des tests post-process sont conduits pour vérifier qu’on a eu au moins 5000 entrées non marquées pour effacement
  • les partenaires marqués pour effacement sont effectivement effacés
  • l’index géographique est reconstruit automatiquement