Foire aux questions sur les kits de démarrage OGDI et ODAF – 1ère partie

Différentes questions nous ont été posées sur les kits de démarrage/accélérateurs OGDI et ODAF :

  • OGDI (Open Government Data Initiative) est une plateforme sous licence libre Microsoft Public License (Ms-PL) permettant aux Administrations et Collectivités Territoriales d’accélérer leur projet de publication de données ouvertes, de publier ainsi les informations publiques de leur choix, plus rapidement et efficacement, de les rendre navigables et interrogeables par les citoyens et les applications, et tout cela à moindres coûts de mise en œuvre, d’exploitation et d’usage. Le kit de démarrage OGDI avec l’ensemble du code source est disponible sur le Centre de téléchargement Microsoft.
  • ODAF (Open Data Application Framework) propose, comme son nom le suggère, un Framework applicatif multiplateformes sous licence libre Microsoft Public License (Ms-PL) avec interactions sociales enrichissant votre écosystème Open Data. Le kit de démarrage ODAF, avec le code source du Framework et celui des modèles d’applications (Android, iPhone, Silverlight et Windows Phone) proposés, est disponible sur le Centre de téléchargement Microsoft.

Nous profitons de ce billet pour échanger sur un premier volet de questions clé sur ces deux initiatives portant sur les thématiques suivantes :

  • Licence des données ouvertes ;
  • Méthodes d’accès aux données ouvertes ;
  • Formats des données ouvertes (formats protocolaires et/ou d’API et formats de fichier).

Deux prochaines parties aborderont les thématiques suivantes :

  • Portail de publication des données ouvertes ;
  • Hébergement des données ouvertes et du portail de publication ;
  • Mise à disposition d’applications innovantes.

Licence des données ouvertes

Q. Est-ce que la licence des kits de démarrage OGDI et ODAF s’impose comme la licence de publication des données ouvertes ?

R. Non en aucune façon. La licence libre Microsoft Public License (Ms-PL) sous laquelle sont publiées les kits de démarrage OGDI et ODAF est complètement indépendante de la licence de publication sous laquelle une collectivité ou un organisme public décide de mettre à disposition des ensembles de données publiques.

La licence Ms-PL concerne uniquement les composants et Framework applicatif mis à disposition par les kits de démarrage qui permettent de mettre en œuvre immédiatement une approche Open Data et d’offrir dans ce contexte des applications innovantes.

Associé à Windows Azure, le kit de démarrage OGDI permet aux collectivités et aux organismes publics de disposer d’une solution ouverte, complète et évolutive pour publier des ensembles de données. Les données sont publiées d’un point de vue technique à l'aide de protocoles ouverts et sont facilement accessibles à partir de n'importe quelle plate-forme et depuis de très nombreux outils de consultation et d’interrogation. Le Kit de démarrage ODAF complète ce socle et met à disposition des collectivités et des organismes publics un Framework applicatif ouvert et évolutif.

Q. Quelle(s) licence(s) de publication des données ouvertes est/sont permise(s) par les kits de démarrage OGDI et ODAF?

R. Toutes en fonction des fonctionnalités souhaitées. La licence de publication est complètement indépendante et orthogonale des kits de démarrage OGDI et ODAF. Il n’y a aucune « interférence » entre les deux.

La licence de publication des données ouvertes est du libre choix de la collectivité ou l’organisme public mettant à disposition l’ensemble de données. Pour cela, la collectivité ou l’organisme public peut s’appuyer sur différentes licences/cadres juridiques disponibles aujourd’hui en fonction des fonctionnalités souhaitées.

On peut ainsi citer, de façon non exhaustive, la licence de réutilisation libre et gratuite de l’APIE (Agence du Patrimoine Immatériel de l’Etat), les licences Open Data Commons comme l’ODbL (Open Data Commons Database Licence), ou encore la licence ouverte publiée par la mission Etalab qui encourage la réutilisation des données publiques mises à disposition.

Q. Quelle licence de publication des données ouvertes doit-on privilégier dans un projet Open Data fondé sur les kits de démarrage OGDI et ODAF ?

R. Il convient de privilégier la licence de publication la mieux adaptée aux besoins et aux souhaits de la collectivité ou de l’organisme public libérant des données publiques. Ceci est complètement du ressort et de la latitude de la collectivité ou de l’organisme public.

Il peut s’avérer intéressant de consulter, dans ce contexte, le document Les données publiques, guide juridique & pratique. Ce dernier, sorte de vadémécum des données publiques à destination des acteurs publics et privés revient dans le cadre du mouvement Open Data sur les enjeux juridiques et pratiques qui y sont liés.

Méthodes d’accès aux données ouvertes

Q. La plateforme OGDI semble privilégier un accès protocolaire aux données. Pourquoi un tel choix alors que beaucoup d’initiatives proposent plus simplement des fichiers téléchargeables ?

R. C’est en effet le cas. Si des fichiers téléchargeables confèrent une méthode simple d’accès aux données, la présence d’une API (Application Programming Interface) dûment documentée, et d’un protocole adapté ouvert, offre un mode d’accès direct aux données et permettent aux applications consommatrices de requêter directement les données dont elles ont besoin, avec toute la sémantique associée.

Les applications peuvent ainsi se « servir » à la source ; les données étant directement utilisables et ce, sans avoir à les télécharger et stocker préalablement dans leur ensemble sur l’environnement d’exécution. Ceci revêt un intérêt particulier dans le cadre notamment d’applications à destination des Smartphones ou de tablettes mais pas uniquement…

Q. Pourquoi la plateforme OGDI repose sur un protocole d’accès aux données plutôt que sur une API ?

R. Le kit de démarrage OGDI permet la mise en oeuvre aisée d’un service de données ouvert sur lesquels les développeurs peuvent ensuite « prendre le pouvoir », avoir un contrôle total de ce qu’il veulent faire des données, créer de nouveaux services innovants et inventer de nouveaux usages utiles aux citoyens.

Ce service de données offre pour cela un service RESTful prenant en charge à la fois un protocole et notamment un langage de requête pour les données publiques. Ceci permet d’interroger, avec toute la sémantique associée, les différents ensembles de données ainsi mis à disposition via une seule et unique (interface) technique indépendante du ou des ensembles de données.

Ceci évite de devoir définir et développer une API ou une interface propre à chaque ensemble et type de données et favorise au passage les mashup de données et les applications composites.

Formats des données ouvertes

Formats protocolaires et/ou d’API

Q. Pourquoi le mouvement Open Data encourage le recours à des « standards ouverts » ?

R. L’Open Data, c’est la donnée qui est accessible librement par tout le monde, de façon standard, compréhensible et consommable comme en témoigne la définition donnée par Wikipedia :

« Une données ouverte ((en) open data) est une information publique brute, qui a vocation à être librement accessible »

Le mouvement Open Data encourage donc pour cela le recours à des « standards ouverts » chaque fois que cela s’avère possible de façon, d’un point de vue technique, à faciliter le partage, la réutilisation, la pérennité dans le temps, etc. des données ouvertes et applications ainsi mises à disposition.

La loi n° 2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique définit au niveau de l’article 4 un « standard ouvert » comme suit :

« On entend par standard ouvert tout protocole de communication, d’interconnexion ou d’échange et tout format de données interopérable et dont les spécifications techniques sont publiques et sans restriction d’accès ni de mise en œuvre. »

Un acteur public se doit de se fonder sur cette définition juridique précieuse pour analyser des solutions et propositions techniques pour ses données publiques, dans le souci de préserver la pérennité des investissements et la capacité à développer des applications spécifiques à partir de ces standards ouverts.

Indépendants des produits, du modèle de développement et du modèle commercial et disponibles publiquement pour tous, les standards ouverts encouragent une interopérabilité effective entre différents produits et services en provenance de différents fournisseurs (éditeur, communauté, citoyen développeur, etc.), une adoption générale et une saine compétition.

Pour autant, il convient de noter que l’utilisation de standards ne peut pas, à elle seule, constituer la seule approche permettant la mise en œuvre d’une interopérabilité réelle. En effet, si la mise en œuvre de standards aide à promouvoir l’interopérabilité, elle n’en offre en aucune façon la garantie :

  • Les standards sont souvent ouverts à l'interprétation, supportent fréquemment une variété d'options, résultats des compromis nécessaires à leur élaboration, options qui ne sont pas mises en application par l’ensemble des fournisseurs ;
  • Des mises en œuvre spécifiques peuvent varier de fournisseur à fournisseur ;
  • Tous les standards « ne sont pas créés égaux » (certains sont « mieux spécifiés » que d'autres) ;
  • Etc.

Pour aller plus loin dans ces réflexions, le livre blanc Standard-Compliant, but Incompatible?! élaboré par de Tineke Egyedi de l’Université de Technologie de Delft aux Pays-Bas constitue une excellente réflexion sur ces différents aspects.

L’atteinte d’une interopérabilité réelle suppose notamment une collaboration étroite entre fournisseurs, y compris avec ses compétiteurs. Ces collaborations peuvent se manifester, par exemple, par l’organisation de « Plug-Fests » où de multiples acteurs se rencontrent pour des tests d’interopérabilité en fonction de scénarios précédemment établis sur la base de standards ouverts.

Enfin, des standards « propriétaires » sont acceptables si ceux-ci sont largement répandus, sont utilisables et/ou implémentés dans des solutions, logiciels et outils accessibles à tous en termes de coûts, répondent aux attentes des citoyens, sont largement répandus et sont « ouverts », même si ceux-ci ne sont pas intégrés au sein d’une démarche de normalisation en tant que telle.

Q. Le choix du protocole OData ne s’écarte-t-il du mouvement Open Data privilégiant avant tout les standards ouverts ?

R. Non bien au contraire. Le protocole ouvert de données OData (Open Data Protocol) repose sur des standards du Web (http, services Web RESTful, XML, AtomPub, JSON, JSONP, KML, etc.) et est accessible à tous.

Les spécifications du protocole sont publiées sur le site OData.org et accessibles sans redevance ET sans devoir signer de contrat selon les termes de l’OSP (Open Specification Promise en anglais), accompagné d’une clause « sans risque de poursuite en justice », qui autorise les développeurs à implémenter et à utiliser ce protocole selon leur propre modèle de développement et de licence.

Au regard de l’article 4 de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique, le protocole OData est un standard ouvert et s’inscrit donc pleinement dans le mouvement Open Data.

Q. Pourquoi la plateforme OGDI fait le choix du protocole OData alors que le W3C propose la recommandation SPARQL ?

R. La recommandation SPARQL Query Language for RDF du W3C propose, pour la suite de recommandations RDF (Resource Description Framework), un protocole et un langage de requête à destination de données ouvertes (en RDF).

Le protocole ouvert de données OData (Open Data Protocol), de son côté, constitue une extension naturelle de technologies Web largement acceptées telles que http, service Web RESTful, XML, AtomPub, JSON, JSONP, etc. pour :

  • Permettre aux sources de données, qu’il s’agisse de façon non exhaustive de bases de données relationnelles, de systèmes de fichiers, de systèmes de gestion de contenu, de sites Web traditionnels, de sites collaboratifs, etc., d'être exposés sur le Web de façon simple, sécurisée et interopérable ;
  • Et fournir ainsi un accès à l’information depuis un large éventail d’applications, de services et de magasins/stockages de données.

Le protocole OData résulte et tire bénéfice des expériences de mise en œuvre de serveurs et de clients AtomPub et exploite les identificateurs de ressource uniformes (URI) pour l'identification des ressources et une interface uniforme http permettant d'interagir avec ces ressources, tout comme le ferait un utilisateur avec n'importe quelle application sur le Web. Ainsi, les (ensembles de) données et leur logique associée sont exposées comme un flux (feed) OData. Sur cette base, de simples requêtes http sur l’URL correspondante permettent de consommer les données. Il est bien entendu possible d’effectuer des opérations de filtrage, de tri ou d’agrégation en rajoutant certains paramètres à l’URL.

De multiples standards existent parfois pour tenter de couvrir les mêmes besoins fonctionnels et les fournisseurs (éditeurs, communauté, citoyen développeur, etc.) peuvent sélectionner différents standards en fonction de leur perception de l’existant au sein des Administrations et des Collectivités Territoriales, du niveau d'acceptation sur le marché, des investissements consentis dans leurs propres produits/solutions, etc.

Pour autant, privilégier un standard plutôt qu’un autre méconnaît le fait que ces standards ne sont pas forcément substituables dans certains types d’usages précis.

Par ailleurs, pour faciliter l’appropriation des données ouvertes mises à disposition et leur utilisation pour le bénéfice du citoyen, il convient donc d’éviter que le choix de tel ou tel standard s’impose à des citoyens qui ne seraient pas forcément équipés des logiciels adéquats.

Il nous apparait important, compte tenu de ces éléments, de garder, en termes de regard, une neutralité d’approche entre des standards ouverts qui peuvent apparaître en concurrence.

Par ailleurs, l’engagement et l’adhésion du protocole OData envers les principes fondamentaux du Web et ses standards permettent à OData d’offrir une intégration des données simplifiée et un nouveau seuil en termes d’interopérabilité au travers d’un large éventail (de producteurs et) de consommateurs. Ainsi, OData est pris en charge par une très large variété de technologies utilisées aujourd’hui sur Internet, telles qu’ASP.NET, JavaScript, Flash, Flex, PHP, Python, Ruby, Silverlight, Objective-C (iPhone iOS), Android, etc.

En termes d’applications cibles, les données peuvent être consommées en format AtomPub, JSON, JSONP, KML ou encore RDF suivant le choix du consommateur : bibliothèques à destination des développeurs, produits/outils dit d’analyse décisionnelle (Business Intelligence ou BI en abrégé), composants de visualisation, etc.

C’est cet écosystème qui nous a amené aujourd’hui à privilégier le protocole ouvert de données OData. La solution OGDI vise en effet la création d’une chaine de valeur bénéfique à tous et donne les bases à la création de concours applicatifs voir la naissance de « places de marchés pour applications Open Data ».

Q. Le choix du protocole OData facilite-t-il le développement d’applications ?

R. Oui. L’utilisation du protocole ouvert de données OData (Open Data Protocol) facilite grandement les développements d’applications depuis n’importe quel environnement (de développement), technologie et/ou langage, compte tenu de sa fondation et du très large écosystème OData actuel.

Il existe ainsi aujourd’hui des bibliothèques en .NET, JavaScript, Flash, Flex, PHP, Python, Ruby, Silverlight, Objective-C (iOS), Android, etc. quel que soit le coté où l’on se place comme notamment décrit dans le billet OData interoperability with .NET, Java, PHP, iPhone and more. Une liste des ressources ainsi disponibles est proposée sur le site OData.org.

Grâce à OData et son écosystème, il devient dès lors très facile de développer des applications et des services innovants dans de multiples langages et environnements et à destination de multiples plateformes. Ces applications et services innovants viennent enrichir l’écosystème applicatif des Administrations et Collectivités Territoriales choisissant de publier leurs données et ainsi fournir une valeur ajoutée certaine aux citoyens et usagers.

Q. Comment valider que l’implémentation du protocole OData proposé par la plateforme OGDI est bien conforme à la spécification du standard ?

R. La forge Codeplex propose un service de validation OData sous licence libre pour la version courante v2 du protocole ouvert de données OData (Open Data Protocol). Ce service permet de valider les types d’interface (endpoint) OData suivants : document de service, document de métadonnées, une collection/flux (feed), ou encore une entrée.

Le service de données exposé par le kit de démarrage OGDI sous forme de service RESTful OData est validé conforme par le service précédent.

Formats de fichiers

Q. La mise à disposition d’ensembles de données dans les formats comme ceux utilisés par la suite Microsoft Office ne sont-ils pas de nature à faire fuir tout « aficionado » Open Data ?

R. Non. Dans le cadre de sa politique d’ouverture, Microsoft s’appuie sur des formats de documents normalisés et/ou standardisés par des organismes internationaux ou des institutions indépendantes (ISO/IEC, OASIS, etc.).

Dans la suite logique de l’annonce majeure faite par Microsoft en février 2008 dans le but d’améliorer l’ouverture de ses produits, d’offrir une meilleure interopérabilité et de créer des opportunités pour les développeurs, les partenaires, les clients et les concurrents, cette politique permet ainsi de séparer les données des logiciels qui les traitent, permettant aux institutions publiques de définir des règles indépendantes des acteurs informatiques.

Ainsi, la suite Microsoft Office 2010 génère par défaut des fichiers conformes à la norme international ISO 29500:2008 Office Open XML ; la version 2007 des fichiers conformes au standard international ECMA-376 Office Open XML 1ère Edition (décembre 2006) de l’Ecma International qui est le format précurseur de la norme ISO 29500:2008.  (Depuis le 2 avril 2008, ce format ECMA-376 Office Open XML 1ère Edition a donné lieu à la norme ISO 29500:2008 ; le standard international ECMA-376 Office Open XML 2ième Edition (décembre 2008) correspond à cette norme.)

Microsoft Office 2010 poursuit l'investissement initié avec Office 2007 Service Pack 2 (SP2) avec une capacité d’ouvrir, de modifier et d’enregistrer des fichiers au format Open Document Format (ODF) 1.1 tel que décrit dans le standard international OASIS ODF 1.1.

Microsoft Office 2010 permet également de générer et de lire des documents au format Portable Document Format (PDF), dans sa version 1.7 correspondant à la norme internationale ISO 32000-1:2008 ou dans le format PDF/A correspondant à la norme internationale ISO 19500-1:2005.

Tous ces formats de fichiers sont standards et ouverts et s’inscrivent pleinement dans les principes d’une démarche Open Data.

Q. Le service de données OGDI permet d’exporter un ensemble de donnée ou le résultat d’une requête notamment au format XLS. Pourquoi utiliser un tel format de fichier propriétaire même s’il s’agit de faciliter l’usage ?

R. Le format de fichier XLS correspond à un standard ouvert selon l’article 4 de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique qui définit l’ouverture des formats comme suit :

« On entend par standard ouvert tout protocole de communication, d’interconnexion ou d’échange et tout format de données interopérable et dont les spécifications techniques sont publiques et sans restriction d’accès ni de mise en œuvre. »

Il ne s’agit donc pas, en aucune façon, d’un format propriétaire.

En effet, les anciens formats de fichiers de Microsoft Office (97-2003) (souvent appelés formats binaires) comme le format de fichier XLS et d’un usage largement répandu sont accessibles à tous. Les spécifications de ces formats sont ouvertes, publiques et libres d’implémentation et présentent donc toutes les caractéristiques d’un standard ouvert respectant les principes d’une démarche Open Data. Il n’existe donc aucune barrière et aucune limitation pour accéder aux données décrites à l’aide de ces formats Office.

Plus précisément, ces spécifications sont publiées sur le site de Microsoft, accessibles sans redevance ET sans devoir signer de contrat selon les termes de l’OSP (Open Specification Promise en anglais), accompagné d’une clause « sans risque de poursuite en justice », qui autorise les développeurs à manier et à utiliser ces formats selon leur propre modèle de licence.

Microsoft indique clairement dans l’OSP qu’il s’engage de manière irrévocable à ne pas faire valoir sa propriété intellectuelle sur ces formats, ce qui permet à tout le monde d’utiliser certaines technologies brevetées Microsoft de façon perpétuelle. Chacun est donc libre d’exploiter à sa guise la propriété intellectuelle de Microsoft sous-jacente aux formats selon son propre modèle de développement et de licence. On notera avec intérêt que les éléments juridiques sous-jacents de l’OSP sont tout à fait similaires à ceux utilisés par Sun Microsystems (Oracle aujourd’hui) à propos du format Open Document Format (ODF), tel que ceci  a été exprimé auprès de l’OASIS (Cf. https://www.oasis-open.org/committees/office/ipr.php).

Q. A quoi sert le format de fichier Daisy proposé par le service de données OGDI ?

R. Le format DAISY (Digital Access Information SYstem) XML est issu du consortium DAISY qui regroupe 70 associations (comme notamment l’Association BrailleNet en France) dont le but est, depuis 1996, de rendre tous les documents publiés accessibles aux personnes souffrant de déficiences visuelles, de dyslexie, ou encore de la maladie de Parkinson. Autant de handicaps qui rendent difficiles la lecture, la saisie sur un clavier et même la simple manipulation d'un livre.

Le format Daisy XML (DTBook DTD) est la base fondatrice du standard DAISY 3/NISO (ANSI/NISO Z39.86 Specifications for the Digital Talking Book), utilisée dans le monde entier pour lire et publier des contenus multimédias et constituer des livres numériques audio. Ce format pivot peut ensuite être converti dans de multiples formats au travers notamment du Pipeline DAISY, une suite gratuite sous licence libre proposée par le consortium DAISY. Les fichiers résultants sont ensuite non seulement lus par des synthétiseurs vocaux pour créer une forme de « braille électronique » mais, grâce au standard DAISY, les utilisateurs peuvent naviguer rapidement par en-tête ou numéro de page, utiliser des index et références, le tout avec des enregistrements audio et du texte classés et synchronisés.

Pour de plus amples informations, nous vous invitons à visionner/écouter le film DAISY rend la lecture plus facile.

Q. L’utilisation d’un format comme PDF pour des ensembles de données ne pose-t-il pas un problème en termes d’ouverture ?

R. Non en aucune façon. Le format de fichier Portable Document Format (PDF) a été publié initialement sous forme de norme internationale en 2005 pour la variante PDF/A pour la conservation des documents non structurés et semi-structurés. Il s’agit de la norme internationale ISO 19500-1:2005.

La version courante 1.7 correspondant aux versions 9.0 et 9.1 du logiciel Adobe Acrobat a été ratifiée par l’ISO en 2008. Il s‘agit de la norme internationale ISO 32000-1:2008.

Il s’agit donc d’un format standard et ouvert s’inscrivant pleinement dans les principes d’une démarche Open Data.

Q. La plateforme OGDI ne propose que quelques formats de données pour l’exportation d’un ensemble de donnée ou le résultat d’une requête. Peut-t-on étendre ce support à d’autres formats de fichiers ?

R. Oui. Les formats de données proposés par défaut (CSV, DAISY, et XLS) visent à offrir, dans le contexte du service de données RESTful, un socle de base ouvert très largement exploitable quels que soient l’environnement ou l’usage ciblé. Pour mémoire, le service de données OGDI vise à offrir un protocole interopérable et un langage de requête pour faciliter le développement d’applications et de services innovants.

Ce socle peut bien évidemment être étendu en fonction d’un besoin particulier. De même, rien n’empêche de proposer au côté du service de données OGDI, par exemple, une vue au niveau du site Web interactif permettant de télécharger le ou les ensembles de données dans divers formats (en fonction de leur disponibilité effective). Ceci permet de tirer bénéfice de l’architecture Modèle-Vue-Contrôleur (MVC) du site Web interactif.

Quel que soit l’approche retenue, les extensions ainsi produites peuvent être réutilisées/mutualisées. Le blog MSDN OGDI France peut constituer à cet effet un vecteur (parmi d’autres) de relai et de partage. Il suffit pour cela d’envoyer un courriel à l’adresse ogdifrance@live.fr pour en faire la demande.