Open Data France

Informations publiques (open data), protocole ouvert de données OData et écosystème applicatif

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

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

  • Comments 2

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 http://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 http://opendata-versailles.cloudapp.net:8080/v1/OpendataVersailles
  Catalogue des données publiques de la communauté d'agglomération de Versailles Grand Parc http://opendata-versailles.cloudapp.net:8080/v1/OpendataVGP

CG71

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

Bouches-du-Rhône Tourisme

Catalogue des données ouvertes de Bouches-du-Rhône Tourisme http://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 http://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 http://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 http://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

  • 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.

  • Nous avons remonté l'erreur au CG71.

Page 1 of 1 (2 items)
Leave a Comment
  • Please add 7 and 1 and type the answer here:
  • Post