Bienvenue dans la documentation de la plateforme d’OPenIG

Cette documentation est organisée en plusieurs guides, chacun correspondant à un usage particulier de la plateforme. Le catalogue des données, les ressources et les outils disponibles sont amenés à évoluer en permanence.

Application Portail - IDG OPenIG

Espace consultation

OPenIG est un catalogue ouvert à tous : https://ckan.openig.org/dataset

Les consultations des données ouvertes, géographiques et intelligentes sont libres sur OPenIG. Vous pouvez parcourir le catalogue, rechercher des jeux de données et télécharger des ressources dans différents format de fichier.

Ceci ne concerne pas les données diffusées sur accès restreint, pour lesquelles les producteurs ont volontairement limité leur téléchargement à certains utilisateurs. Toutefois ces jeux de données apparaissent au catalogue général pour porter à connaissance des publics l’existence de ces données. Pour les consulter il faut en faire la demande directement au producteur.

Rechercher des données sur OPenIG

Pour de meilleurs résultats, OPenIG permet de filtrer les données, d’effectuer des recherches par thématique, selon la fréquence de mise à jour, par format ou uniquement les jeux de données associés à une organisation.

_images/Trouver_donnees.png

L’ensemble de ces filtres peuvent être cumulés pour affiner les résultats avec un moteur de recherche “textuel”.

Il n’y a pas d’inscription préalable pour accéder aux jeux de données et aux ressources diffusés en Open Data.

Dans le respect des conditions générales d’utilisation d’OPenIG, chaque jeux de données est publié avec une licence ( licences ouvertes, licence odbl, etc…), choisie par le producteur de la donnée, dans le but de définir les conditions de leur réutilisation.

Voir le passage sur le Cadre légal et réglementaire

Si vous recherchez un jeu de donnée qui ne figure pas au catalogue d’OPenIG, vous pouvez nous solliciter à l’adresse contact@openig.org. Toute demande sera étudiée et une réponse vous sera apportée. Nous relayerons le cas échéant votre demande à la collectivité ou à l’organisme concerné.

Voir le passage sur la demande de documents administratif

Espace utilisateurs

S’il n’est pas nécessaire de s’inscrire sur la plateforme pour consulter le catalogue et télécharger des données ouvertes, le fait de s’enregistrer sur OPenIG permet de disposer des fonctionnalités complémentaires par rapport à la consultation sans inscription.

Note

Toute personne, morale ou physique, publique ou privée, peut s’inscrire sur OPenIG et ainsi contribuer à l’ouverture et la mise en commun des données publiques ou privées, en publiant des jeux de données, des textes, des ressources et des commentaires.

S’inscrire sur OPenIG

  • L’utilisateur enregistre son identité qui est distincte de la personne morale qu’il représente.
  • En s’inscrivant, l’Utilisateur crée un profil sur la Plateforme.
  • En s’inscrivant, l’Utilisateur accepte les conditions d’utilisation.

Note

Le nom d’utilisateur doit contenir uniquement des caractères alphanumériques en minuscules (ascii) et ces symboles : -_

_images/OPenIGInscription.png
  • l’Utilisateur doit ensuite valider son inscription en cliquant sur le lien reçu par courriel, sur sa boite aux lettres de courrier électronique.

Participer à OPenIG

De nombreuses fonctionnalités participatives sont proposées :

  • Contacter directement le producteur ou le diffuseur d’un jeu de données.
  • Suivre/s’abonner à un jeu de données, une thématique ou une organisation.
_images/VuesOPenIG.png
  • Demander l’accès aux administrateurs à des données avec accès restreint.
  • Accéder aux données et services autorisés pour une organisation.
  • Partager un jeu de données ou une ressource sur un autre site ou via des réseaux sociaux.
  • Déclarer une réutilisation : https://ckan.openig.org/showcase/new
  • Participer au contrôle de la qualité d’OPenIG en signalant les contenus n’ayant pas vocation à y figurer (illicites ou contraires aux CGU).
  • Créer une nouvelle Organisation ou demander à être rattaché à une Organisation existante (voir rubrique dédiée),
  • Demander à devenir contributeur d’une organisation et éventuellement référent d’une organisation pour maitriser l’ensemble des publications de ladite organisation (voir rubrique dédiée).
  • Accéder à certaines fonctionnalités de l’API nécessitant une clé d’authentification.
  • Intégrer un catalogue de données en marque Blanche sur son propre site internet (Voir rubrique dédiée sur la marque blanche)

Espace contributeurs

Ce guide est destiné aux producteurs de données, déjà inscrit en tant qu’Utilisateurs et souhaitant contribuer à l’enrichissement des publications sur la plateforme (voir la documentation sur les Utilisateurs).

Note

Toute personne, morale ou physique, publique ou privée, producteur de données publiques ou privées peut les publier sur OPenIG, sous reserve d’accepter les conditions d’utilisation et de respecter la réglementation sur les données à caractères personnelles.

Devenir Contributeur et Référent pour une organisation

Les organisations sont le plus souvent des personnes morales (autorités administratives, associations, entreprises) ou également des groupes informels.

Note

La création d’une nouvelle organisation peut-être effectuée soit au moment de votre inscription comme utilisateur d’OPenIG, soit après la validation de votre profil Utilisateur par les Administrateurs d’OPenIG. Les demandes de statut de Contributeur ou de Référent sont soumises à la validation des Administrateurs. Il faut donc patienter un peu !

_images/DemandeOrgOPenIG.PNG

Note

Par défaut, un Utilisateur qui s’inscrit avec un email personnel (gmail, ymail, hotmail,…) et dont le nom de domaine ne peut correspondre à l’organisation pour laquelle il demande de contribuer, ne peut se rattacher, contribuer ou devenir référent d’une Organisation.

Les Administrateurs de la Plateforme se réservent la possibilité de révoquer une inscription, une organisation, un statut de Contributeur ou de Référent, sans avis préalable.

Un Contributeur dispose des fonctionnalités suivantes :

  • Il peut publier un jeu de données et y ajouter des ressources, sous la forme d’un fichier téléchargeable, d’un lien URL ou d’une API.
  • Il peut accorder le niveau d’accès aux ressources et jeux de données qu’il a crée pour son organisation : soit décider de les rendre accessible à tous, soit en restreindre l’accès uniquement à un ou plusieurs Utilisateurs inscrits ou bien à une Organisation choisie comme sa propre organisation propriétaire du jeu de données.

Un Référent des données de l’Organisation, à laquelle il appartient, dispose des fonctionnalités suivantes :

  • Il peut éditer ou supprimer un jeu de données créé et publié par un autre Contributeur de l’Organisation.
  • Il peut accorder le niveau d’accès aux ressources et jeux de données de toutes les publications de son Organisation.
  • Il peut autoriser ou supprimer le statut de Contributeur aux Utilisateurs.
  • Il recoit des notifications lorsque des modifications ont été apportées aux jeux de données et ressources de l’Organisation à laquelle il appartient.

Créer une Organisation

Toute demande de création d’une organisation est soumise à l’administrateur du site pour validation.

_images/Creation_orga1_openig.png

La dénomination sociale est obligatoire. Concernant la description, elle est facultative mais fortement conseillée, d’une part pour permettre de qualifier l’Organisation et sa démarche en matière d’ouverture des données publiques et géographiques et d’autre part pour permettre l’implémentation automatique d’une page web spécifique à propos de l’organisation.

Editer la page d’une Organisation

Pour éditer la page de son organisation, le Contributeur clique sur l’onglet ORGANISATIONS dans son espace d’administration.

La première fois que le contributeur édite la page de son organisation, il lui sera demandé de définir le territoire de compétence de l’organisation. La création de ce territoire de compétences permet de bénéficier de fonctionnalités spatiales supplémentaires dans OPenIG. Cette demande est traitée par un administrateur de la plateforme.

_images/Territoire_competence_OPenIG.PNG _images/Territoire_competence2_OPenIG.PNG

Publier un jeu de données

  • Pour publier un jeu de donner le Contributeur se connecte avec son identifiant et mot de passe sur https://idgo.openig.org
_images/InscriptionOPenIG.PNG

La publication se fait en deux étapes successives :

Tout d’abord on renseigne les métadonnées servant à définir ou décrire le jeu de données qui sera publié, puis on ajoute des jeux de données brutes ou des ressources complémentaires.

Etape n°1 : Renseigner les métadonnées

1. Métadonnées simplifiées

_images/Edit_newdataset1_OPenIG.PNG

Note

De nombreux mots-clés sont déjà répertoriés dans la base. Ils apparaissent dans une liste déroulante lorsque vous saisissez les premières lettres du mot. Mieux vaut choisir un mot clé existant, plutot que d’en choisir un nouveau afin de permettre de relier votre jeu de donnée à d’autres jeux similaires inscrits au catalogue d’OPenIG.

Les métadonnées obligatoires sont les suivantes :

  • Titre
  • Organisation à laquelle est rattaché ce jeu de données
  • Descriptif : C’est un champ incontournable pour garantir une bonne réutilisation, car une donnée bien décrite est une donnée bien réutilisée !
  • Dates de création, de dernière modification et de publication : la valeur par défaut indique la date du jour et la date de modification se met à jour automatiquement lorsque vous enregistrez des modifications sur les ressources.
  • Licence : Selectionner une licence parmi celles qui sont proposées: Licence APLC; Creative Commons (Attribution); Creative Commons (Attribution Share-Alike); Creative Commons (CCZERO); Licence ouverte V2.0; Open Data Commons (Attribution); Open Data Commons (ODbL) ou une autre Licence (Ouverte ou Spécifique).

2. Métadonnées INSPIRE

Pour pouvoir compléter les métadonnées INSPIRE, il faut sélectionner le jeu de données et choisir « Editer la fiche de métadonnées INSPIRE ».

_images/INSPIRE_OPenIG.png

Tous les champs à compléter pour respecter la norme INSPIRE seront regroupés dans des rubriques : Auteurs et contacts pour la fiche de métadonnées; description des données; contacts pour la base de données; références géographiques et qualité des données; conditions légales d’accès et d’usage; ressources associées.

_images/INSPIRE2_OPenIG.png
Etape n°2 : Publier une ressource

Il existe quatre manières différentes d’ajouter un jeu de données :

1. Téléverser manuellement un fichier depuis votre poste local :

A l’aide du bouton Parcourir, vous pouvez déposer le fichier qui s’ajoute dans l’entrepôt de données d’OPenIG.

_images/Upload_ressources_OPenIG.PNG

Le Titre de votre fichier est automatiquement recopié, mais il est possible de modifier manuellement le nommage de ce jeu de donnée. Le format du fichier est automatiquement reconnu par IDGO mais attention :

Note

Si vous publiez un Shapefile zippé, il faut choisir le format « ESRI Shapefile (Fichier ZIP) » et non pas « ZIP ».

Il faut préciser si le jeu de donnée est disponible en tant que Données brutes ou si c’est une documentation associée au jeu de données pour permettre aux visiteurs d’OPenIG d’avoir des informations complémentaires (plaquettes de communication, affiches, photographie, site internet….).

2. Télécharger un jeu de donnée depuis une URL de téléchargement :

Dans ce cas, IDGO va télécharger la ressource pour l’ajouter dans l’entrepôt de données.

_images/Upload_ressources_URL_OPenIG.PNG

Ce mode de publication permet de synchroniser la ressource distante, selon une périodicité régulière à indiquer :

  • Jamais
  • Quotidienne (tous les jours à minuit)
  • Hebdomadaire (tous les lundis)
  • Bimensuelle (1er et 15 de chaque mois)
  • Trimestrielle ( 1er des mois de Janvier, Avril, Juillet et Octobre)
  • Annuelle (1er Janvier)

Par exemple, un fichier transport.zip peut-être synchronisé sur OPenIG directement grace à son URL de téléchargement.

Note

Quelques précautions à prendre pour que la synchronisation s’active correctement :

  • le nom de votre fichier doit avoir exactement le même nommage de fichier pour toute la synchronisation : si un script modifie le nom du fichier (pour rajouter une date ou autre par exemple), la synchronisation ne fonctionnera pas.
  • votre fichier doit être accessible via une URL fixe : évitez les liens temporaires.:

En cas d’erreur, les administrateurs d’OPenIG se chargeront de vous indiquer que la synchronisation ne fonctionne pas ou plus.

3. Référencer une URL :

Dans ce cas, la ressource n’est pas téléchargée dans OPenIG et vous indiquez précisement l’adresse URL de téléchargement de la donnée qui reste hebergée chez son producteur. Cette donnée apparait au catalogue d’OPenIG mais elle n’est pas hébergée dans son entrepot.

_images/Upload_ressources_ref_URL_OPenIG.PNG

4. Dépot FTP :

Il faut se connecter au sFTP avec son logiciel (ex: FileZilla, voir photo ci-dessous) à l’adresse donnée et avec ses identifiants OPenIG.

Indication

Dans FileZilla, ajouter un site dans « Gestionnaire de site » avec les paramètres suivants :
  • Protocole : sFTP
  • Hôte : sftp.openig.org
  • Port : 8322
  • Identifiant : vos identifiants OPenIG
_images/depot_FTP_Filezilla.PNG

Les fichiers qui se trouvent sur le compte sFTP apparaîtront dans la liste déroulante. Ce mode de publication permet de synchroniser la ressource, selon une périodicité régulière à indiquer.

_images/Upload_ressources_FTP_OPenIG.PNG

Note

Il peut arriver que la connexion au serveur FTP ne fonctionne pas lorsque le Proxy de votre organisation bloque l’accès au compte FTP; Veuillez pour cela tester la connexion à partir d’un autre point d’accès internet sans Proxy (depuis un smartphone ou une connexion internet personnelle).

Styliser une couche

Pour créer un style pour un jeu de donnée, il faut le sélectionner et « éditer les ressources associées ».

_images/style_OPenIG.png

Il faut ensuite sélectionner la ressource à styliser du jeu de données et cliquer sur « editer ».

_images/editer_donnes_OPenIG.png

Puis cliquer sur « éditer la ressource géographique » lorsqu’on est sur la page de la ressource.

_images/editer_donnes2_OPenIG.png

Enfin il faudra choisir l’onglet « Styles » à droite de « Configuration générale ».

_images/style2_OPenIG.png

Créer un style manuellement

Manuellement et directement dans l’interface, il est possible de donner un nom pour le style et la classe ainsi que de créer :

  • Des filtres
  • Des représentations (couleur et opacité du fond et couleur et épaisseur du contour)
  • Des étiquettes
_images/style_manuel_OPenIG.PNG

A noter que l’utilisateur a, pour tous les styles importés ou créés dans cette interface, la possibilité de les exporter directement en SLD.

_images/style4_sld_OPenIG.png

Créer un style avec un SLD

Il est possible d’importer un SLD créé au préalable pour la ressource. Il suffit de cliquer sur « Importer un SLD » en haut à droite de la fenêtre de style et de coller le fichier SLD.

_images/style3_sld_OPenIG.PNG _images/style_sld_OPenIG.PNG

Enfin enregistrez votre style.

_images/style2_sld_OPenIG.PNG

Mettre à jour un jeu de données ou une ressource

Les données publiées peuvent être mises à jour après leur publication, que la modification porte sur un jeu données dans son ensemble, ou sur l’une des ressources qu’il contient (Données brutes ou ressources associées).

_images/Edit_donnees_OPenIG.PNG

L’actualisation d’une ressource existante permet d’en mettre à jour le contenu sans changer l’emplacement qui lui est assigné, c’est-à-dire son lien hypertexte (aussi appelé URL). Le fait d’actualiser une ressource (plutôt que de la supprimer et d’en créer ensuite une nouvelle) permet de conserver l’historique des téléchargements de cette ressource. Cela évite aussi de créer des liens rompus sur Internet, qui meneront à une erreur HTTP 404, vu que la page web n’existera plus et sera introuvable par le serveur.

Supprimer un ensemble de donnée et / ou une ressource

Aller sur le site https://idgo.openig.org et rechercher vos jeux de données.

Il est possible de supprimer un ensemble de données (Dataset) comprenant les metadonnées; ou seulement les ressources et fichiers brutes associés à un ensemble de données. Pour cela, il faut sélectionner l’ensemble de données que vous souhaitez supprimer.

_images/Supp_donnees_OPenIG.PNG

Attention, cette action est irréversible et supprimera définitivement le jeu de données ainsi que toutes les ressources qui lui sont attachées.

Valoriser un ensemble de données en indexant leur réutilisation

La fonctionnalité « réutilisation » (Trouver des données -> Réutilisation) permet d’indexer les applications/projets existants et réutilisants des données issues du catalogue d’OPenIG. Vous pouvez visualiser celles existantes sur cette page.

_images/reutilisation1.PNG

Lorsqu’une donnée est réutilisée, nous vous invitions à créer une « réutilisation » afin de valoriser vos projets et/ou vos données . Pour en créer une, il vous suffit de cliquer sur « Ajouter une réutilisation » et de remplir le formulaire.

_images/reutilisation2.PNG

La réutilisation sera aussi visible sur la page du jeu de données :

_images/reutilisation3.PNG

Datastore et données intelligentes

OPenIG propose un datastore, c’est à dire un entrepôt de données qui offre des services dits « intelligents » sur les données tabulaires aux formats CSV, XLSX, XLS, GeoJSON & JSON.

La publication des données sur OPenIG, dans un format ouvert et interprétable par une machine, permet leur indexation dans le datastore afin notamment de proposer des aperçus, de les filtrer par champs et de les parcourir sans utiliser de tableur dédiés.

Le format CSV est le format pivot à privilégier pour transformer vos données tabulaires en données semi-structurées dites « intelligentes » afin que le datastore génère des datavisualisations simples sous forme de grille, de graphe ou de carte.

Des données intelligentes permettent également d’en automatiser l’accès par API ( Application Programming Interface) : L’accessibilité des données par interface de programmation est une condition nécessaire pour massifier et industrialiser les usages qui peuvent être fait de ces dernières. Les données indexées dans le datastore sont ensuite « requetables » directement à travers l’API à travers une série de fonctionnalités puissantes. ( voir la présentation de l’API CKan : https://openig.readthedocs.io/fr/latest/developpeurs/index.html#service-api-ckan)

Préparation des données tabulaires pour indexation dans Datastore

Vos jeux de données doivent être préparés pour être proprement indexés dans le datastore :

  • Dans CKAN, le format CSV doit être privilégié avec une , comme séparateur / délimiteur.
  • Idéalement, passez tous vos jeux de données en UTF-8. Pour cela le programme Notepad++ fait cela très bien.
  • Idéalement, exportez vos tableurs favoris (Microsoft, Libre et Open Office) au format CSV.
  • Restreindre vos titres de colonnes à moins de 62 caractères.
  • Ne pas doublonner le titre d’une colonne.
  • En théorie les caractères spéciaux (“:.,( -”) sont acceptés, mais c’est beaucoup mieux de les éviter dans les titres.
  • Harmoniser le type de vos données (et oui vos données sont typées!) : en effet si une colonne ne comporte que des chiffres, le datastore autodéterminera le type de cette colonne comme étant un nombre. Or il suffit qu’une cellule de la colonne contienne l’entrée N/A, pour que le datastore génére une erreur.
  • La taille limite des données pouvant être exploitées via l’API est de 15MO.

Pour éviter les erreurs de type, il est préférable de les corriger avant d’indexer le jeu de donnée dans OPenIG ou bien de transformer la valeur des cellules en cellules au format TEXTE. Cela n’est pas satisfaisant, mais ça fonctionne.

  • ERREUR : En cas d’erreur supprimez complètement la ressource associée au jeu de données et ajoutez en une nouvelle.

Note

Attention avec Excel :

  • lorque le fichier contient plusieurs feuillet (ou onglet), seule la dernière feuille de calcul est indexée dans le datastore. Il est donc nécessaire de déplacer la feuille de calcul contenant les données que vous souhaitez indexer dans le datastore en dernière place de votre tableur.
  • si vous ne voulez pas indexer vos données dans le datastore (pour plein de bonnes et mauvaises raisons), il suffit d’ajouter une feuille de calcul vide en dernière place de votre tableur.
Géolocalisation et visualisation des données indexées

Une carte peut automatiquement être générée à partir de vos données tabulaires geolocalisées. Pour cela, il faut renseigner les coordonnées géographiques soit avec un champ GeoJSON soit avec deux colonnes distinctes : « latitude » et « longitude ». Attention, la projection utilisée est le WGS84 (EPSG : 4326).

L’option « Marqueurs de regroupement » vous permet de « fusionner » visuellement les données proches.

_images/map_tabdata.PNG

Un graphique peut également être généré en sélectionnant les colonnes à assigner aux axes ainsi que le type de graphique parmis la liste disponible. Il est possible de combiner plusieurs « séries » au sein d’un même graphique.

_images/graph_tabdata.PNG

Service WMS et WFS

Pour accéder aux flux OGC (Web Map Service et Web Feature Service) des données publiées sur OPenIG, il existe plusieurs façons selon le type de service :

1. Flux Mapserver

Lorsqu’on se situe sur la fiche d’un jeu de données, il suffit de cliquer soit directement sur la ressource soit sur l’oeil.

_images/acces_flux.png

Il faut ensuite sélectionner « API Géo ».

_images/API_geo.png

Note

Si le bouton « API Géo » ou l’aperçu cartographique n’apparaît pas, cela peut provenir du fait que la ressource géographique déposée n’a pas été reconnue comme telle. Cela est souvent dû au format choisi lors de la publication de la ressource. Attention, pour un Shapefile zippé il faut choisir le format « ESRI Shapefile (Fichier ZIP) » » et non pas « ZIP ».

_images/Shapefile_zip.PNG

Une fois que vous avez cliqué, un menu contextuel apparait pour vous donner toutes les informations que vous souhaitez.

_images/API_geo2.png
Pour une utilisation dans QGIS, il suffit d’ajouter une nouvelle connexion WMS ou WFS en collant l’URL suivante :
« https://mapserver.openig.org/maps/ » + l’identifiant de l’organisation

L’identifiant d’une organisation peut être facilement récupérer :

Exemple 1 : departement-du-gard -> https://mapserver.openig.org/maps/departement-du-gard

Example 2 : departement-des-pyrenees-orientales -> https://mapserver.openig.org/maps/departement-des-pyrenees-orientales

2. Flux Mapcache

Réservés aux adhérents, ce flux permet d’accéder aux orthophotographies et certains fonds IGN. Cela nécessite d’avoir un compte sur openig.org pour les consommer.

Depuis votre SIG il faut renseigner l’adresse suivante https://mapserver.openig.org/mapcache/ ainsi que vos identifiants et mot de passe utilisés pour vous connecter à https://www.openig.org/.

Les couches sont visibles à partir de l’échelle 1:250’000.

Le tuilage des couches n’est pas pré-calculé ; il est calculé à l’affichage. C’est pourquoi on peut rencontrer des lenteurs lors des premières utilisations. Les performances s’amélioreront progressivement à l’usage.

Liste des couches disponibles :

_images/flux_mapcache.png

En plus de cette documentation, des tutoriels vidéos existent sur le site internet d’OPenIG (service accessible uniquement aux adhérents) : https://www.openig.org/flux

Faire remonter vos données sur Data.Gouv.fr

OPenIG et Etalab ont travaillé ensemble afin de permettre aux contributeurs d’OPenIG de faire remonter automatiquement leurs catalogues de données vers la plateforme nationale https://www.data.gouv.fr/fr/. Cette mécanique est aussi appelée « moissonneur » ou « passerelle ».

La procédure est relativemment simple. Il suffit de la mettre en place une fois pour que le catalogue de données d’OPenIG concerné soit ensuite synchronisé quotidiennement sur DataGouv.

Chaque contributeur et organisation reste souverain pour mettre en place ou non une synchronisation de ses données vers DataGouv.

Quelques précisions :

  • Seules les métadonnées sont synchronisées sur DataGouv. Les données restent sur OPenIG (ou ailleurs en fonction de vos choix en matière d’indexation de ressources).
  • Le moissonneur ne prend pas en compte la suppression de jeux de données. Chaque contributeur doit supprimer ses jeux de données directement sur DataGouv.
  • Un compte organisation sur DataGouv expose indifféremment les jeux de données créés manuellement sur DataGouv et les jeux de données synchronisés automatiquement depuis OPenIG. Attention aux doublons et à la cohérence des jeux de données.

Mise en place de la procédure :

ETAPE 1: Chaque contributeur crée une organisation sur DataGouv avec un compte utilisateur en son nom. « INSCRIPTION sur DataGouv » - Ce compte utilisateur doit être adminsitrateur de l’organisation.

ETAPE 2: création d’un point de moissonnage sur DataGouv L’administrateur de l’organisation sur Data.gouv.fr doit déclarer un point de moissonnage depuis l’interface d’administration DataGouv.

  • En haut à droite de votre espace d’administration DataGouv, cliquez sur plus, puis AJOUTER un MOISSONNEUR.
_images/Capture_Moissonneur1.PNG
  • Choisissez « Publier en tant qu’organisation », cliquez sur SUIVANT.
  • C’est ensuite ici que vous renseignez les informations techniques de votre moissonneur.
  • TITRE: Il convient d’ajouter « - OPenIG » à votre titre afin de l’identifier plus facilement.
  • URL : https://ckan.openig.org/dataset
  • IMPLEMENTATION : CKAN
  • Il est TRES important de ne pas oublier d’ajouter un filtre, au risque de moissonner tout OPenIG.
  • FILTRES -> INCLURE -> Organisation : ajouter l’identifiant de votre organisation dans OPenIG. ( il s’agit de l’url de votre organisation sur OPenIG)

Exemple 1 : https://ckan.openig.org/organization/departement-du-gard -> Identifiant du département du Gard

Example 2 : https://ckan.openig.org/organization/departement-des-pyrenees-orientales -> identifiant du département des Pyrénées Orientales

_images/Capture_Moissonneur3_OPenIG.PNG
  • Cochez la case ACTIF.
  • Cliquez sur ENREGISTRER.

ETAPE 3: Une fois créé, chaque contributeur déclare son moissonneur aux administrateurs d’OPenIG en écrivant à contact@openig.org.

ETAPE 4: Etalab valide le moissonneur à la demande des administrateurs d’OPenIG.

ETAPE 5: La synchronisation du catalogue distant est faite une fois par jour (chaque nuit).

Application Géocontrib

GéoContrib est une application web destinée à éditer de manière collaborative une base de données sous la forme de contributions géolocalisées et de commentaires. En utilisant un système de commentaires, de notifications et de modération des contributions elle cherche à renforcer des communautés d’utilisateurs autour de projets de constitution ou de qualification de leurs bases de données géographiques.

Elle a été conçue pour fonctionner aussi bien sur du matériel sédentaire que sur des terminaux mobiles (dans des navigateurs internet modernes).

L’équipe d’OPenIG affecte pour l’instant manuellement les droits qui permettent d’avoir la possibilité de créer des projets. Vous souhaitez ouvrir un projet de cartographie collaborative avec GéoContrib ? Contactez l’équipe via webmestre@openig;org

Accès : https://geocontrib.openig.org/geocontrib/

Utilisateurs et autorisations

Il faut distinguer les rôles définis pour toute l’application (super admin), des rôles définis pour un projet (utilisateur connecté, contributeur, modérateur, administrateur projet) :

  • Utilisateur anonyme : indique que l’utilisateur courant n’est pas connecté.
  • Utilisateur connecté : indique que l’utilisateur est connecté mais n’a pas d’autorisation spécifique sur ce projet. Il peut seulement s’abonner aux notifications du projet.
  • Contributeur : indique que l’utilisateur peut saisir des signalements et écrire des commentaires dans les projets où il est défini comme contributeur.
  • Super Contributeur : il a les mêmes droits qu’un contributeur, mais il peut interagir avec les contributions des autres utilisateurs comme s’il s’agissait de ses propres contributions, sauf en ce qui concerne la suppression : il ne peut supprimer que les signalements dont il est l’auteur.
  • Modérateur : il a les droits d’un contributeur ainsi que des droits supplémentaires. Un utilisateur peut devenir modérateur d’un projet uniquement si le projet est modéré.
  • Administrateur projet : indique que l’utilisateur peut administrer le projet, à savoir modifier les paramètres du projet, créer des nouveaux types de signalements, paramétrer les fonds cartographiques et administrer les niveaux d’autorisation des autres utilisateurs sur ce projet. Par défaut, lorsqu’un utilisateur créé un nouveau projet, son rôle est « Administrateur projet ».
  • Super Admin : tous les droits (correspond à l’équipe d’OPenIG).
  1. : dépend des caractéristiques du projets, notamment du paramètre « Visibilité des signalements publiés »
  1. : dépend si le projet est modéré ou non. S’il est modéré :
  • le contributeur ne peut pas publier ses brouillons mais les mettre en « publication en cours »
  • le contributeur ne peut pas archiver ses propres signalements, même si la visibilité lui est accordé
  • le modérateur peut modifier tous les signalements qui ont le statut « en publication en cours », « publiés » (ou « archivés » selon les caractéristiques du projet (P)) vers les statuts « brouillon », « publiés » (et « archivés » selon les caractéristiques du projet (P)).
_images/geocontrib_roles_users.png

Identification

L’identification se fait avec vos identifiants OPenIG.

_images/OPenIGConnect.png

Une fois connecté, 2 options selon vos droits :

  • Créer un nouveau projet
  • Accéder à un projet déjà créé afin d’y contribuer

Création d’un projet

_images/geocontrib_creation_projet.png

Il faut remplir ici les éléments permettant de décrire votre projet : titre (obligatoire), description, imagette, délai avant archivage, délai avant suppression, visibilité des signalements publiés (obligatoire) et visibilité des signalements archivés (obligatoire).

Case à cocher « Modération » : dans le cas de projets modérés, les contributeurs ne peuvent pas publier directement leurs signalements. Ceux-ci doivent d’abord être évalués par des utilisateurs dits modérateurs du projet (ou par les administrateurs du projet). Si la modération est choisie, le rôle de « Modérateur » est alors disponible (attribuable par l’administrateur du projet).

Case à cocher « Est un projet type » : lors de la création d’un nouveau projet, il est possible d’utiliser un modèle. C’est cette case qui permet de définir si ce projet est oui ou non un projet modèle qui pourra être réutilisé par d’autres utilisateurs. Les champs caractéristiques du nouveau projet sont alors préremplis avec les mêmes valeurs que celles du projet modèle. Les champs sont tous éditables.

Paramétrage du projet et des signalements

Une fois sur le projet créé, vous allez pouvoir le paramétrer plus en détail : création de types de signalement, gestion des fonds de carte, des membres, etc.

_images/geocontrib_param_projet.png

Création de type de signalements

A partir du formulaire

Les administrateurs d’un projet (et utilisateur de niveau de permission supérieur) ont la possibilité d’ajouter un type de signalement ou d’éditer un type de signalement (tant qu’aucun signalement n’est créé pour ce type).

Le formulaire permet de définir un titre pour le type de signalement, une géométrie ainsi que des champs personnalisés :

  • Booléen (case à cocher)
  • Chaîne de caractères
  • Date (format jj/mm/aaaa)
  • Liste de valeurs : Il faut indiquer les valeurs en les séparant par une virgule. Ce champ prend la forme d’une liste déroulante avec un choix possible entre les valeurs renseignées.
  • Nombre entier
  • Nombre décimal
  • Texte multiligne
Paramétrage du style

Lors de la création du champ personnalisé, il est possible d’affecter une couleur à chacune des valeurs de la liste de valeurs. Pour ce faire, il faut d’abord définir le champ personnalisé.

  • Pour les types de signalements linéaires ou polygones, un menu déroulant apparaît en haut de la page d’édition du type de signalement. Dans ce menu déroulant, sélectionner le champ personnalisé correspondant à la liste de valeurs. Devant chaque valeur de la liste apparaît alors un cadre permettant de modifier la couleur affectée à chaque valeur. Il n’est pas possible de personnaliser les couleurs pour plus d’une liste de valeurs. Le signalement prendra alors la couleur de la valeur à laquelle il est associé.
  • Pour les types de signalements ponctuels, le style (symbole et/ou couleur) peut être défini depuis la page d’accueil du projet, en cliquant sur le bouton « Editer la symbologie du type de signalement ». Une nouvelle page permet de définir une couleur et un symbole par défaut, ou de sélectionner dans une liste de choix un des champs de type liste (s’il en existe pour ce type de signalements). Il est alors possible de définir une couleur et un symbole pour chaque valeur de la liste.
A partir d’un GeoJSON

Depuis la page d’accueil d’un projet, le bouton « Créer un type de signalements à partir d’un fichier GeoJSON » permet à l’utilisateur d’importer un fichier local. La structure du fichier va être automatiquement lue et le modèle de données du type de signalement est proposé à l’utilisateur à travers le formulaire d’édition. L’administrateur peut modifier, préciser et vérifier la géométrie, le titre du type de signalement et chacun des champs personnalisés.

En bas de page, il peut choisir :

  • de créer simplement le type de signalement
  • de créer le type de signalement et d’importer les données du fichier

Administration des fonds cartographiques

L’administrateur projet a la possibilité d’ajouter ou supprimer des fonds cartographiques parmi une liste de couche.

Au besoin d’avoir d’autres fonds cartographiques, il n’y a que les Super Admin (soit l’équipe d’OPenIG) qui peuvent le faire. Merci de nous adresser votre demande et nous essayerons de répondre à votre besoin.

Gestion des membres

L’administrateur projet a la possibilité de rajouter des membres au projet parmi une liste déroulante. Pour chaque membre, un rôle lui est attribué en fonction du niveau d’autorisation défini dans les paramètres du projet.

Pour ce qui concerne les niveaux d’autorisation, vous trouverez des informations ici : https://openig.readthedocs.io/fr/latest/geocontrib.html#utilisateurs-et-autorisations

Note

Les membres présents dans cette liste déroulante correspondent à des comptes qui se sont au moins connectés une fois sur l’application Geocontrib avec leur compte OPenIG.

Contribuer à un projet

Les utilisateurs contributeurs ou de niveau supérieur peuvent ajouter des signalements depuis la page d’accueil, la page d’un type de signalements ou la page d’un signalement à l’aide du pictogramme « + » .

Le formulaire d’édition permet à l’utilisateur de saisir un nom, un statut, une description ainsi que de renseigner l’ensemble des informations relatives aux champs personnalisés définis pour ce type de signalement.

Pour tous les types de signalements, une interface cartographique permet de numériser le signalement. L’utilisateur bénéficie d’une fonction de recherche et il a la possibilité de jouer sur l’affichage des fonds de carte configurés par l’administrateur du projet (ordre des couches, opacités, etc).

Pour les signalements de type ponctuel, l’utilisateur peut également :

  • utiliser sa géolocalisation en cliquant sur le bouton « Positionner le signalement à partir de votre géolocalisation »
  • utiliser une photographie contenant des informations de localisation (tags EXIF associés à une photographie prise avec un appareil équipé d’un GPS) en cliquant sur le bouton « Importer une image géoréférencée »

Pour chaque signalement, il y a la possibilité d’ajouter une pièce-jointe (par exemple une photographie de terrain, d’une copie d’un arrêté ou tout document permettant de préciser les informations portées par le signalement) ainsi que de créer une liaison avec un autre signalement.

Pour ajouter une liaison depuis le formulaire d’édition d’un signalement, il faut cliquer sur le bouton « Ajouter une liaison » dans la rubrique « Signalements liés », et sélectionner un autre signalement appartenant au même type de signalement.

Il est possible de créer trois types de liaisons entre un signalement A et un signalement B :

  • « doublon »
  • « dépend de »
  • « remplace »

Pour chaque liaison, un adjectif inverse est défini :

  • Si la liaison « doublon de B » est affectée à A, la liaison « doublon de A » est affectée à B.
  • Si la liaison « dépend de B » est affectée à A, la liaison « dépend de A » est affectée à B.
  • Si la liaison « remplace B » est affectée à A, la liaison « est remplacé par A » est affectée à B.

Suite à un import de données par upload d’un fichier GeoJSON, si deux signalements d’un même type de signalements présentent le même titre et la même géométrie, ils sont alors automatiquement considérés comme « doublons ». La liaison est alors visible dans chacune des pages descriptives de ces signalements.

L’ajout de signalements peut se faire aussi via l’import d’un fichier GeoSJON. Ce fichier GeoJSON doit néanmoins être conforme au modèle de données spécifique du type de signalements.

Enfin les signalements sont exportables sur la page du type de signalement. Ces données seront enregistrées sous la forme d’un fichier GeoJSON. Seuls les signalements que l’utilisateur courant a le droit de consulter sont exportés.

Consulter un projet

La page de consultation des signalements d’un projet propose 2 vues :

Une vue cartographique :

  • présentation de l’ensemble des signalement visibles de l’utilisateur (dépend de ses autorisations par rapport au projet).
  • possibilité de zoomer et de se déplacer dans la carte,
  • consultation des caractéristiques principales d’un signalement dans une petite infobulle à l’aide d’un simple clic,
  • dans cette info-bulle, le clic sur le titre renvoie vers la fiche détaillée du signalement,
  • toujours dans cette info-bulle, le clic sur le type de signalements renvoie vers la fiche détaillée du signalement.

Une vue tabulaire paginée :

  • présentation des caractéristiques principales : statut, type de signalements, titre, date de dernière modification, auteur du signalement et dernier éditeur,
  • case à cocher, permettant à l’utilisateur courant de sélectionner les signalements dont il est l’auteur (ou tous les signalements s’il est administrateur projet ou super-utilisateur). Il peut sélectionner les signalements qu’il souhaite supprimer et cliquer sur l’icône corbeille en haut à droite pour les effacer.
  • le clic sur le nom renvoie vers la fiche détaillée du signalement,
  • le clic sur le type renvoie vers la fiche détaillée du signalement,

Chacune d’entre elles propose un bloc « Filtres » permettant à l’utilisateur de réduire le nombre de signalements à ceux qu’il recherche :

  • filtre sur le type de signalements ;
  • filtre sur le statut des signalements ;
  • filtre textuel recherchant la chaîne de caractères saisie par l’utilisateur dans le titre des signalements.

Suivi d’un projet

Pour chacun des projets, les utilisateurs possédant un compte dans l’application et authentifiés, peuvent s’abonner aux activités des projets qu’ils ont le droit de visiter depuis leur page d’accueil, grâce au bouton « S’abonner au projet ».

Au clic sur le bouton, une popup s’ouvre et propose à l’utilisateur de s’abonner au projet. S’il clique une seconde fois, la popup propose cette fois le désabonnement.

Lorsqu’un utilisateur est abonné au projet, il sera notifié par email de l’activité du projet c’est à dire des nouvelles publications, nouveaux commentaires, modifications, etc.

Application MViewer

Ce service est uniquement accessible aux adhérents d’OPenIG afin de créer ses propres cartes.

Il faut vous rendre sur le site internet d’OPenIG, vous authentifier et accéder à la page « créer sa carte » via la rubrique « services avancés » de l’onglet « Accès rapides ». Sinon directement via cette URL : https://www.openig.org/creer-sa-carte

Via cette page, vous avez accès au MViewer Studio :

_images/mviewer_studio.PNG

Attention

L’outil MViewer a été développé avec le serveur cartographique GeoServer. OPenIG utilisant MapServer, certaines fonctionnalités ne sont pas disponibles. La plupart des paramétrages pourra se faire mais via des fichiers externes stockés sur serveur et non pas directement avec l’interface Studio.

Onglet Application :

Spécification des paramètres globaux de l’application (emprise géographique, titre, couleur, etc.). Pour pouvoir utiliser une page d’aide ainsi qu’un logo spécifique, ceux-ci doivent être déposés sur un serveur. Il suffira ici de renseigner l’adresse URL de ces fichiers.

Exemple de page d’aide .HTML de base:

<ul class="nav nav-tabs" role="tablist">
    <li role="presentation" class="active"><a href="#h_app" aria-controls="profile" role="tab" data-toggle="tab">Application</a></li>
    <li role="presentation" ><a href="#h_credits" aria-controls="settings" role="tab" data-toggle="tab" i18n="help.modal.credits">Crédits</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
    <div role="tabpanel" class="tab-pane active" id="h_app"><h4 i18n="help.modal.about">A propos de l'application</h4>Application qui présente ...</div>
    <div role="tabpanel" class="tab-pane" id="h_credits"><h4 i18n="help.modal.credits">Crédits </h4>`Application réalisée par ... </div>
</div>

Onglet Thématiques & données :

Ajout d’une thématique :

_images/mviewer_thematiques.PNG

Ajout d’une donnée :

_images/mviewer_donnees.PNG

Paramétrage de la donnée :

_images/mviewer_donnees_modif.PNG

Attention

Il ne faut pas oublier de cocher la dernière case (« utiliser le proxy ») afin que la couche puisse s’afficher dans le visualiseur.

La rubrique « fiche » va vous permettre de modifier la fiche d’information relative à la ressource lorsque vous allez sélectionner une entité. Du fait de MapServer, la seule possibilité de paramétrer cette fiche sera d’appeler un fichier .MST stocké sur votre serveur. Si vous souhaitez en savoir plus : https://mviewerdoc.readthedocs.io/fr/latest/doc_tech/config_tpl.html

_images/mviewer_donnees_modif2.PNG

L’affichage peut se personnaliser mais encore une fois avec des fichiers externes : URL d’un fichier .SLD ou URL d’une image pour la légende.

_images/mviewer_donnees_modif3.PNG

Les autres rubriques (filtre, choix, recherche) ne sont pas paramétrables dans notre cas.

Enfin, vous allez pouvoir sauvegarder votre application sur le serveur, télécharger le fichier de paramétrage .XML de votre application et prévisualiser l’application définie. « Charger » vous permettra d’utiliser un fichier .XML stocké en local ou de charger une application sauvegardée sur le serveur.

_images/mviewer_admin.PNG

Liens utiles :

Application Widget Catalogue

Le site d’OPenIG permet d’intégrer un catalogue de données en marque blanche sur un site web externe. Cette fonctionnalité est également intitulée “widget”. Elle offre une solution technique pour valoriser le catalogue de données d’une organisation et plus largement de tout sous ensemble du catalogue de données OPenIG filtré par une ou plusieurs facettes (organisations, thématiques, formats, licences, recherche par mot clé…).

La marque blanche est accessible sans restriction et sans autorisation préalable à tout utilisateur, contributeur ou développeur d’OPenIG.

Pour pouvoir tester et installer le widget en local, voici la procédure :

Ensuite, une fois le widget installé, cela passe par l’intégration de quelques lignes de code HTML à l’endroit souhaité sur une page web externe ainsi que deux appels à un fichier Javascrit (.JS) et une feuille de style CSS (.CSS).

  • Exemple de code d’implémentation:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <link href="./app.css" rel="stylesheet">
        <link href="./static/css/main.css" rel="stylesheet">
        <title>Catalogue CKAN</title>
      </head>
    
      <body>
        <div id="ckan-widget"></div>
      </body>
    
      <script src="./static/js/main.js" type="text/javascript"></script>
      <script type="text/javascript">
        var config = {
           // URL du catalogue CKAN cible
           ckan_api: 'https://ckan.openig.org',
          // Filtres complémentaires optionnels :
    
          //ckan_organizations: ['org1', 'org2'],
          //ckan_groups: ['group1'],
          //ckan_tags: ['tag1'],
          //ckan_facets: {
            //res_format: 'HTML',
        //    datatype: 'type'
        //  },
    
        // paramétrages de l'affichage :
          data_sort: 'title_string asc',
          result_page_size: 25,
          thumbnails_display: true
        }
    
        ckanWidget.init(config)
      </script>
    </html>
    

Paramètres d’intégration de la marque blanche :

Le code d’inclusion html et son appel javascript permettent :

  • 1/ De charter l’interface graphique à travers la modification de la feuilles de styles app.css.
  • 2/ De spécifier les facettes à filtrer : les organisations (ckan_organizations), les thématiques (ckan_groups), les mots clés (ckan_tags) et plus généralement toute facette (ckan_facets) identifiable dans l’url des résultats d’une recherche effectuée sur OPenIG.
  • 3/ De spécifier comment afficher les résultats : tri (data_sort), nombre de résultats par page (result_page_size), et intégration d’un vignette (thumbnails_display: true).

**Si l’adhérent souhaitant disposé d’un catalogue en marque blanche ne dispose pas d’une solution (serveur) pour héberger le widget, il peut contacter l’adresse webmestre@openig.org. Une aide lui sera apportée. **

La marque blanche OPenIG a été développée par Neogeo Technologies. Elle est distribuée sur Github sous licence MIT. Le code source peut être utilisé pour afficher tout catalogue CKAN sur un site tiers.

Espace développeurs - API

Service API Ckan

Le « site d’OPenIG » est construit à partir du système d’information OpenSource dédié à la gestion de catalogues de données CKAN.

Requêter l’API CKAN Catalogue

CKAN propose une API permettant d’interroger et de consulter le catalogue des données et leurs ressources. L’API permet également de requêter directement le contenu des ressources tabulaires (CSV, XLS) lorsque celles-ci ont été correctement intégrées au Datastore (https://openig.readthedocs.io/fr/latest/contributeurs.html#datastore-et-donnees-intelligentes).

Ainsi, il est par exemple possible de réaliser ce qui suit.

Requêter l’API CKAN DATA

Le site d’OPenIG permet également de requêter directement le contenu des jeux de données, ou plutôt de leurs ressources. Cette mécanique est rendue possible à travers l’interrogation de l’API de données de CKAN (API CKAN DATA).

Comme expliqué plus haut, le Datastore propose un service d’indexation des données tabulaires (CSV et XLS). L’API CKAN DATA permet d’exposer le contenu des ressources indexées dans le Datastore dont on peut ainsi interroger tout ou partie sans avoir à télécharger le jeu de données. Il est alors possible de faire des opérations de recherche sur les différents champs de données.

  • Afficher les cinq enregistrements du jeu de données des points de rencontre de covoiturage dans les Pyrénées Orientales:

    https://ckan.openig.org/api/3/action/datastore_search?resource_id=1532854d-7f20-4408-b3d0-f2ae0a520477&limit=5
    

Cette requête utilise la méthode datastore_search de l’API de CKAN avec la notion de filtres.

  • Trouvez les arrêts de covoiturage dont le champ com_lieu est égal à PERPIGNAN:

    https://ckan.openig.org/api/3/action/datastore_search?resource_id=1532854d-7f20-4408-b3d0-f2ae0a520477&filters={"com_lieu":"PERPIGNAN"}
    

Cette requête utilise la méthode datastore_search de l’API de CKAN avec la notion de filtres.

  • Trouver tous les arrêts de covoiturage dans les Pyrénées Orientales qui disposent d’arrêts de bus et de lumière:

    https://ckan.openig.org/api/3/action/datastore_search?resource_id=1532854d-7f20-4408-b3d0-f2ae0a520477&filters={%22lumiere%22:%22true%22,%22comm%22:%22Pr%C3%A9sence%20d%27arceaux%20V%C3%A9lo%20et%20arr%C3%AAt%20de%20bus%22}
    

Cette requête utilise la méthode datastore_search de l’API de CKAN avec la notion de filtres.

  • Trouver les points de rencontre avec un nombre de places supérieur à 20 et un nombre de place PMR supérieur à 1 (requête SQL):

    https://ckan.openig.org/api/3/action/datastore_search_sql?sql=SELECT from "1532854d-7f20-4408-b3d0-f2ae0a520477"  WHERE "nbre_pl" > '20' AND "nbre_pmr" > '1'
    

Cette requête utilise la méthode datastore_search_sql de l’API de CKAN avec la notion de requête SQL .

Documentation de l’API (catalogue et ressources) et de l’API Datastore (requête sur les ressources) en anglais :

Note

Le mot « package » qu’on trouve dans certaines requête et dans la documentation CKAN correspond à un jeu de donnée.

Construire une requête pour l’API

Pour appeler l’API CKAN, postez un dictionnaire JSON dans une requête HTTP POST sur l’une des URL d’API de CKAN. Les paramètres de la fonction API doivent être indiqués dans le dictionnaire JSON. CKAN retournera également sa réponse dans un dictionnaire JSON.

Une façon de publier un dictionnaire JSON sur une URL est d’utiliser le client HTTP en ligne de commande HTTPie. Il existe également d’autres outils comme Postman. Par exemple, pour obtenir une liste des noms de tous les jeux de données du groupe environnment sur le site, installez HTTPie, puis appelez la fonction API group_list en exécutant cette commande dans un terminal:

http https://ckan.openig.org/api/3/action/group_list

La réponse de CKAN ressemblera à ceci:

{
  "help": "https://ckan.openig.org/api/3/action/help_show?name=group_list",
  "result": [
      "administration-et-action-publique",
      "agriculture-sylviculture-et-peche",
      "biodiversite-et-environnement",
      "citoyennete-et-democratie",
      "climat-air-et-energie",
      "culture-patrimoine-et-tourisme",
      "economie-et-entreprises",
      "energies-et-reseaux",
      "equipements-batiments-et-logements",
      "formation-education-et-emploi",
      "mobilite-et-transports",
      "occupation-des-sols",
      "referentiels",
      "social-sante-et-sports",
      "urbanisme",
      "vues-aeriennes-et-imagerie"
  ],
  "success": true
}

La réponse est un dictionnaire JSON avec 3 clés :

  1. "success": true or false.

    L’API est conçue pour retourner à chaque fois un 200 OK dans le code statut de sa réponse, qu’il y ait une erreur ou non dans la requête, il est donc important de toujours vérifier la valeur de la clé success dans le dictionnaire de réponse, et si elle est à false, de vérifier la valeur de la clé error.

Note

S’il y a vraiment un gros problème de syntaxe dans la requête à l’API, CKAN pourra retourner une réponse HTTP avec un status code 409, 400 or 500 (dans l’ordre croissant de gravité). Dans les prochaines versions de CKAN, il est prévu d’essayer de supprimer ce type de réponse pour n’avoirà la place que des retours 200 OK et utiliser les valeurs "success" et "error".

  1. "result": le résultat retournée par la fonction appelée. Le type et la valeur du résultat dépendent de la fonction appelée. Dans le cas de la fonction group_list, il s’agit d’une liste de chaînes, les noms de tous les jeux de données qui appartiennent au groupe.

    Si c’est une erreur qui est retournée à la requête, le dictionnaire contiendra une clé "error" avec le détail de l’erreur au lieu de la clé "result". Un dictionnaire de réponse contenant une erreur ressemblera à ceci:

    {
        "help": "Creates a package",
        "success": false,
        "error": {
            "message": "Access denied",
            "__type": "Authorization Error"
            }
     }
    
  2. "help": le texte de documentation de la fonction appelée.

La même requête HTTP peut être effectuée en utilisant le module Python standard urllib2 avec ce code Python:

#!/usr/bin/env python
import urllib2
import urllib
import json
import pprint

# Make the HTTP request.
response = urllib2.urlopen('http://demo.ckan.org/api/3/action/group_list',
        data_string)
assert response.code == 200

# Use the json module to load CKAN's response into a dictionary.
response_dict = json.loads(response.read())

# Check the contents of the response.
assert response_dict['success'] is True
result = response_dict['result']
pprint.pprint(result)

Versions de l’API

Les API CKAN sont versionnées. Si vous faites une demande à une URL d’API sans numéro de version, CKAN choisira la dernière version de l’API:

https://ckan.openig.org/api/action/package_list

Vous pouvez également spécifier le numéro de version de l’API souhaité dans l’URL que vous envoyez:

https://ckan.openig.org/api/3/action/package_list

La version 3 est actuellement la seule version de l’API Action.

Nous vous recommandons de spécifier le numéro d’API dans vos demandes, car cela garantit que votre client API continuera à fonctionner si un jour le site est mis à niveau vers de nouvelles versions de CKAN).

Authentification et clés

Certaines fonctions de l’API nécessitent une autorisation, par exemple pour ajouter ou modifier des jeux de données et des ressources). L’API utilise la même fonction d’autorisation et la configuration en tant qu’interface web, donc si un utilisateur est autorisé à faire quelque chose dans l’interface web, il sera autorisé à le faire via l’API.

Lorsque vous appelez une fonction de l’API nécessitant une autorisation, vous devez vous authentifier vous-même en fournissant votre clé API avec votre requête HTTP. Pour trouver votre clé API, connectez-vous au site CKAN en utilisant son interface web et visitez votre profil utilisateur.

Pour fournir votre clé API dans une requête HTTP, incluez-la dans un En-tête `` Authorization`` ou `` X-CKAN-API-Key``.

Par exemple, pour demander si vous suivez actuellement l’utilisateur `` markw`` sur demo.ckan.org en utilisant HTTPie, exécutez cette commande:

https://ckan.openig.org/api/3/action/am_following_user id = markw Autorisation: XXX

(Remplacer `` XXX`` avec votre clé API.)

Par exemple, pour obtenir la liste des activités de votre tableau de bord utilisateur, on lance ce code Python:

request = urllib2.Request('https://ckan.openig.org/api/3/action/dashboard_activity_list')
request.add_header('Authorization', 'XXX')
response_dict = json.loads(urllib2.urlopen(request, '{}').read())

Support JSONP

Pour répondre aux scripts d’autres sites qui souhaitent accéder à l’API, les données peuvent être renvoyé au format JSONP, où les données JSON sont “complétées” avec une fonction call. La fonction est nommée dans le paramètre “callback”. Par exemple:

https://ckan.openig.org/api/3/action/package_show?id=adur_district_spending&callback=myfunction

Note

Cela ne fonctionne qu’avec les requêtes GET

Régles éditoriales

Règles de nommage des ressources

Selon les recommandations en matière de nommage des fichiers électroniques et de plan de classement, nous vous proposons de respecter les règles suivantes relatives aux intitulés des ressources (fichiers) associées à vos jeux de données :

  • Le nom d’un fichier doit être succinct : éviter de dépasser 30 caractères (sans compter l’extension).
  • Le nom d’un fichier doit être précis : il contiendra idéalement : le nom du producteur, le sujet, le type de document, la date de création, éventuellement la version.
  • Date: pour le 20 décembre 2018 => 20181220 (norme ISO 8601).
  • Ne pas utiliser des articles ou mots vides : le, la, les, de, etc…
  • Préférer le caractère _(underscore, tiret du 8) à un espace
  • Eviter les lettres accentuées
  • Le nom d’un fichier ne doit pas contenir : espace, ponctuation (sauf le point avant l’extension), caractères accentués ou spéciaux (ùé+’@à°[] :</* »& !$, etc.).
  • La gestion des versions permet de suivre l’évolution et les étapes de l’élaboration d’un fichier. Il faut les distinguer soigneusement en les numérotant pour obtenir une suite logique exemple V01, V02, etc.

Amélioration des champs descriptifs avec le langage Markdown

Pour les champs descriptifs des jeux de données, des ressources et des organisations vous pouvez utiliser le langage Markdown dans le but est d’offrir une syntaxe facile à lire et à écrire.

Voici quelques exemples de syntaxe Markdown.

Cette liste n’est pas exhaustive.

=== Formatage ===

Mettre du texte en italique

*quelques mots*

quelques mots

Mettre du texte en gras

**plus important**

plus important

Pour mettre du code dans le texte:

``Mon code``

Mon code

=== Listes ===

Sauter une ligne avant le début de la liste.

Pour créer une liste non ordonnée

* Pommes
* Poires
  • Pommes
  • Poires

=== Image ====

Vous pouvez afficher une image dans vos descriptifs. Attention, la taille n’est pas paramétrable et l’image doit déjà être disponible en ligne quelque part

.. image:: img/OPenIGConnect.PNG
img/OPenIGConnect.PNG

=== Liens ===

Pour créer des liens

[texte du lien](url_du_lien "texte pour le titre, facultatif")
https://ckan.openig.org (automatique si mon url commence par http ou https).

[Trouver des données sur www.openig.org](https://ckan.openig.org)

=== Aller plus loin ===

https://fr.wikipedia.org/wiki/Markdown

https://guides.github.com/features/mastering-markdown/

https://guides.github.com/pdfs/markdown-cheatsheet-online.pdf

Les outils pour nettoyer vos données

[La méthode infolabs pour produire un CSV de qualité](http://infolabs.io/prod-csv)

[l’Outil de validation des données ouvertes Validata](https://validata.fr/)

[Nettoyer les CSV avec CSVLint (en Anglais)](http://csvlint.io)

https://goodtables.io/

http://openrefine.org/

Note

Ces guides sont maintenus par l’équipe d’OPenIG.