Freigeben über


DEV KINGS 2013 : Accélérez vos développements avec le service de données OGDI DataLab

La semaine dernière marquait le lancement de la 2ndeédition des DEV’ KINGS, un grand concours de développement ouvert à tous.

Cette année, les DEV’ KINGS 2013 spécial App'citoyenne portent sur le développement d’applications basées sur l’Open Data, avec une mission simple : Concevoir sous Windows 8 et Windows Phone 8 des applications citoyennes qui améliorent la vie des habitants de leur ville.

Comme vous le savez, ce concours national propose différents fournisseurs qui mettent à disposition leurs données.

Un certain nombre de ces fournisseurs le font au travers de la plateforme communautaire de publication de données OGDI DataLab qui propose un service de données RESTful OData. OData est fondé sur un modèle d'entité et de relation qui vous permet d'accéder aux jeux de données dans le style des ressources REST.

Le point de terminaison du service de données associé décrit la forme des données et tout ce dont vous avez besoin est d’interagir avec les jeux de données. Vos (futures) applications Windows Store Apps et/ou Windows Phone Apps peuvent ainsi accéder à ces données et notamment les requêter grâce au protocole http.

Dans le cadre du concours, vous pouvez ainsi utiliser directement les services de données RESTful OGDI DataLab suivants pour accéder aux catalogues de (jeux de) données en ligne :

Fournisseur Catalogue Adresse
Ville de Bordeaux Catalogue des données publiques de la ville de Bordeaux https://odatabdx.cloudapp.net/v1/databordeaux
Communauté d'agglomération de Versailles Grand Parc et la ville de Versailles Catalogue des données publiques de la ville de Versailles https://opendata-versailles.cloudapp.net:8080/v1/OpendataVersailles
  Catalogue des données publiques de la communauté d'agglomération de Versailles Grand Parc https://opendata-versailles.cloudapp.net:8080/v1/OpendataVGP

CG71

Catalogue des données brutes du CG71 https://opendata71.cloudapp.net/v1/data
  Catalogue des données de l’INSEE https://opendata71.cloudapp.net/v1/dataINSEE
  Catalogue des données simplifiées du CG71 https://opendata71.cloudapp.net/v1/dataviz

Bouches-du-Rhône Tourisme

Catalogue des données ouvertes de Bouches-du-Rhône Tourisme https://dataprovence.cloudapp.net:8080/v1/dataprovencetourisme

Si vous souhaitez utiliser dans votre application un jeu de données d’un fournisseur qui ne serait pas disponible via une instance du service de données OGDI DataLab, vous pouvez nous fournir le jeu de données en question au format .csv par exemple et nous pourrons le charger sur l’instance de test OGDI DataLab France. L’adresse du catalogue principal est https://ogdifrance.cloudapp.net:8080/v1/frOpenData.

De façon à bénéficier des avantages et des potentiels d’un service de données OGDI DataLab vis-à-vis de la création de votre application Windows 8 ou Windows Phone 8, vous devez installer préalablement les outils client OData pour Visual Studio 2012. Vous devez également disposer l’environnement Visual Studio comme les versions Visual Studio Express 2012 pour Windows 8 et Visual Studio Express 2012 pour Windows Phone 8 qui sont gratuites.

Pour cela, rendez-vous à l’adresse https://go.microsoft.com/fwlink/?LinkId=253653 et télécharger les outils correspondant à votre cible applicative.

image

OData Client Tools for Windows Store Apps (WcfDataServicesWindowsStore.exe) prolonge l'expérience de l'ajout d’une référence de Service avec la prise en charge du protocole OData côté client pour les applications Windows Store dans Visual Studio 2012. L'outillage va ajouter des références aux paquets NuGet capables de consommer des services OData comme le service de données conforme OGDI DataLab. Les mises à jour des assemblages seront mises à disposition via l’expérience de mise à jour classique de paquets NuGet. Ces outils ne sont pas intégrés dans le SDK Windows 8 et doivent être installés séparément.

OData Client Tools for Windows Phone Apps (WcfDataServicesWindowsPhone.exe) apporte les mêmes fonctionnalités mais pour la prise en charge du protocole OData côté client pour les applications Windows Phone 8 dans Visual Studio 2012. Ces outils ne sont pas intégrés dans le SDK Windows Phone 8 et doivent être installés séparément.

Vous devez fermer Visual Studio 2012 avant d’exécuter l’un des programmes d’installation ci-dessus.

image

Une fois les outils client OData appropriés téléchargés et installés, vous pouvez référencer le service de données OGDI DataLab de votre choix.

A titre d’illustration, créez une nouvelle application Windows Store de type Windows Store Grid App en C#/XAML.

image

Une fois votre projet créé, ajoutez une référence au service de données OGDI DataLab souhaité. Pour cela, dans Visual Studio 2012, depuis Solution Explorer, faites un clic-droit sur votre projet (App1 ici) et sélectionnez Add Service Reference… Un assistant vous guide dans le processus de création d’une référence de service.

image

L’information principale à fournir vis-à-vis d’une référence de service est l’url du service à référencer depuis l’application. Remplissez le champ Address avec l’url du service, cliquez sur Go, choisissez un espace nom pour votre service. La capture suivante montre un exemple d’ajout de référence sur le catalogue des données publiques de la ville de Bordeaux à l’adresse https://odatabdx.cloudapp.net/v1/databordeaux.

image

Validez en cliquant sur OK. Voilà, c’en est terminé pour la génération des classes proxy. Vous êtes prêts à consommer les données du service de données OGDI DataLab ciblé avec un modèle de données approprié et à les afficher dans votre interface. Vous pourrez bénéficier d’une mise à jour automatique à chaque nouveau contenu (jeu de données) publié.

Une telle approche est potentiellement beaucoup plus productive que, par exemple, de requêter le service de données au format JSON (via un objet HttpWebRequest, de parcourir ensuite le flux avec un composant comme Newtonsoft.Json, de le traiter, etc.

A ce stade, et vis-à-vis de notre illustration, vous pouvez modifier le contenu du fichier SampleDataSource.cs situé dans le dossier DataModel. Cette source de données fournit des données d'échantillon pour amorçer les applications Windows Store Apps ; vous devez donc les remplacer avec une source de données qui récupère les données réelles depuis le service de données OGDI DataLab ciblé.

Voilà pour le principe de consommation :)

Bon concours avec OGDI DataLab !

imageimage

Comments

  • Anonymous
    February 19, 2013
    J'obtiens l'erreur suivante en essayant d'ajouter la référence qui va bien pour le CG71 (alors que je n'ai aucun problème pour Bordeaux) : There was an error downloading 'opendata71.cloudapp.net/.../ListData.svc$metadata'. The request failed with HTTP status 404: Not Found. Metadata contains a reference that cannot be resolved: 'opendata71.cloudapp.net/.../data&. The HTTP request was forbidden with client authentication scheme 'Anonymous'. The remote server returned an error: (403) Forbidden. If the service is defined in the current solution, try building the solution and adding the service reference again.

  • Anonymous
    February 25, 2013
    Nous avons remonté l'erreur au CG71.