Présentation de Grégory CORONA et Yoann BLOT sur la géolocalisation avec MarkLogic lors de la rencontre du MarkLogic USer Group France du 07 décembre 2010
Je me présente, je m’appelle Grégory CORONA, responsable produit au sein de 4Dconcept. Je suis ici devant vous pour vous présenter le prototype appelé GeoLab .
Qu’est-ce que GéoLab ? GéoLab est un prototype réalisé par les équipes de développement 4Dconcept basé sur le socle technologique MarkLogic. GeoLab met en œuvre les fonctions de recherche proposées par MarkLogic. On parlera ici de recherche par facettes, de recherche par géolocalisation. Pourquoi un prototype ? Et pourquoi une restitution au sein du MUG.fr ? Une démarche technique Intégrer des fonctions MarkLogic En éprouver le fonctionnement En Acquérir la connaissance et l’expérience En amont et en aval de la réalisation, une démarche fonctionnelle Illustrer au travers d’un prototype, y projeter des idées en réponse à une exploitation du serveur et plus précisément des contenus stockés Y faire naitre des projections fonctionnelles : de nouvelles solutions ou des fonctionnalités à intégrer dans les produits tels que XMS Dans le cadre de la restitution de ces travaux – dans le cadre du MUG.fr – les objectifs sont : Une illustration des capacités de recherche de MarkLogic et plus précisément, la recherche par localisation …
Comment procéder ? Je vous propose de vous faire la démonstration de ce prototype au travers de deux scénarii utilisateurs qui par la suite, qui nous permettront de : Faire un focus sur les fonctions MarkLogic mise en œuvre au travers d’un cas client Détailler techniquement l’intégration de ces fonctions A l’aide des deux mises en situations, vous pourrez alors imaginer toutes les capacités de recherche de MarkLogic – périmètre aujourd’hui mis en avant.
Premier scénario : une soirée entre amis …
« Nous sommes le 2 octobre 2010 . Ce soir, j’ai prévu de sortir avec des amis avec lesquels nous irons découvrir l’ensemble des animations proposées dans le cadre de la nuit blanche. Je suis le responsable de l’organisation de la soirée. En prévision à cette organisation : Sélection des animations Mais attention : éviter de courir à travers Paris toute la nuit - ne sélectionner que le meilleur dans une zone définie … » Heureusement que j’ai mon application GeoLab … ça va pouvoir me servir !!!
Comment faire ? Je peux éventuellement chercher sur une carte et découvrir une à une les animations … Non ! Je souhaiterais faire ma sélection en fonction de localisations précises dans Paris et de thématiques précises … Ce que je compte faire est sélectionner certains arrondissements de Paris, et faire une recherche sur cette pré sélection géo graphique sur le mot clef « art » par exemple. Suite à quoi, je m’assure d’avoir des animations proches des lieux que j’aime et sur une thématique précise. Comme ce sont vos premiers pas dans la solution GeoLab , je me permets de vous faire le tour du propriétaire … « Une solution de recherche permettant de retrouver des informations à l’aide d’un formulaire de recherche « standard » : champs de recherche texte, sélection de type de données etc … mais aussi de critères de recherche de géo localisation. D’où la colonne de gauche et la carte au centre. A droite, la liste des résultats correspondant à ma recherche. Les fonctions affichées seront abordées au fur et à mesure des scénarii … Les données sont des contenus XML stockés dans MarkLogic … nous détaillerons aussi cette partie plus loin dans la démonstration » Revenons à notre histoire : ma soirée entre amis. Je cherche des animations … Je sélectionne des arrondissements … Combien d’animations me sont retournées … je les consulte, depuis la liste de résultats ou la carte. J’affine avec le mot clef art … Voici donc les animations proches des quartiers où je souhaite me rendre … et ceux portant sur la thématique « art ». Je n’ai pas perdu mon temps à lister tous les évènements et naviguer dans la carte … je profite des capacités de recherche de MarkLogic pour effectuer des recherches : géographiques + thématiques.
Qu’avons-nous vu au travers de la solution ? Quelles ont été les fonctions de recherche MarkLogic utilisées : La recherche par facettes La recherche par géo localisation Sur des zones prédéfinies (ici les arrondissements) Sur une unions de zones La combinaison de critères de recherche de différentes natures : texte / géo localisation Quittons le monde fonctionnel pour aller quelques instants dans le monde technique afin de voir comment utiliser les fonctions MarkLogic. Comment cela fonctionne ?
Sur quelles informations MarkLogic se base pour effectuer les recherches et retourner les contenus ? Plus précisément, si jamais j’avais des contenus, quel sera l’effort à fournir pour intégrer mes contenus sur une telle solution ? Comment bénéficier des fonctions ici démontrées ? Ce que je vous propose, c’est que nous ajoutions un nouveau contenu XML … autour d’une évènement qu’est le notre : MUG.FR Voyons le XML, ses données … accompagnons le contenu d’une illustration. Pour compléter notre démonstration, inventons nous une nouvelles zone …
Voici ma nouvelles zone : MUG.FR et son voisinage. Ne correspond en rien à un arrondissement ou une zone déduite d’informations extraites de l’adresse … Son XML attaché … pour la photo : souriez ! Petite parenthèse : si mon contenu Suite au chargement du contenu : Je retrouve la zone qui était au préalablement chargée et mis en avant pour la démonstration Le MUG.FR est retourné …
Deuxième scénario … « Après mes soirées, mes vacances … »
« Je suis fan de vélo … Le tracé du tour de France a été dévoilé depuis peu et je compte suivre les étapes du tour de France … pas devant la télévision, mais aux côtés des coureurs sur chacune des étapes. J’ai donc réservé des jours de vacances sur une période du tour … Fan de vélo, oui mais pas au point de rester sur le bord de la route à attendre le passage du peloton et regarder la caravane passée toute la journée. Je vais visiter un peu aussi … Je compte donc m’organiser sur le trajet de la course, une découverte des lieux et réserver mes restaurants et hôtels … »
Pour m’organiser un peu et réserver hôtels et restaurants … je ne souhaite pas dépouiller tous les guides des régions mais plutôt avoir l’ensemble des points d’intérêts, hôtels et restaurants sur mon trajet. En fait … je souhaite avoir mon guide personnalisé autour de mon périple – mon trajet - pour en faire une sélection. Comment faire ? Démonstration : Tracer Elargir le rayon … distance que je peux faire pour aller sur un site un peu éloigné Je sélectionne uniquement les POI et fait ma sélection Les étapes d’arriver : manger et dormir pas trop loin Cibler les zones Elargir Déplacer le cercle en live Mettre en avant la rapidité d’interrogation Recherche dynamique Faire de même avec un polygone Déplacer un point …
Les évènements sont des POI, restaurants et hôtel … la structure XML est la même … ça pourrait être n’importe laquelle pourvu qu’on y trouve les informations « longitude » « latitude » …
Suite à la présentation de ce prototype et la mise en avant des fonctions de recherche MarkLogic, que pouvons nous imaginer comme solutions ? Certain que beaucoup d’entre vous ont des idées sur le sujet … Quelque soit le domaine d’activité …