Cartographie Wallonie#Demain : cet automne


#1

Poursuite de la discussion issue de Un atelier Carto Wallonie#Demain le 20 septembre à Louvain-la-Neuve? :

Ce sujet a pour objectif de définir une présentation publique de l’évolution du projet de cartographie de W#D et d’inviter son audience à consulter la carte et se tenir informée des avancées.

Des nouvelles de la cartographie de Wallonie#Demain

  • Rappel des objectifs (un outil cartographique pour connaître les acteurs de la transition en Région Wallonne et favoriser l’engagement citoyen)
  • Approche (présentation du collectif Incommon)
  • Comment participer (invitation aux prochaines activités et temps forts)

#2

(Ceci est un wiki. Le support de présentation arrive…)

Fichiers

presentation-20180911.svg (185.4KB)
presentation-20180911.pdf (837.8 KB)

Rappel des objectifs


Le volet cartographique de Wallonie#Demain a pour but de reconnaître les acteurs de la transition en Région Wallonne et favoriser l’engagement citoyen dans la transition.

Approche


La poursuite de l’objectif de rapprochement entre acteurs nous a conduit à choisir de participer aux côtés d’une douzaine d’associations du secteur au collectif In Common (En Commun) qui cherche à établir un outil cartographique standardisé pour l’ensemble des acteurs de la transition.

Incommon.cc

Le développement logiciel original d’Incommon se fait sous forme d’interface programmatique d’application (API) qui permettra aux acteurs de révéler des cartes spécifiques aux orientations de chacun tout en nourrissant une base de données commune. Cette approche invite en outre à la participation citoyenne, au dialogue, à l’échange et au rapprochement entre acteurs.

Classifications - Ressources - Cartes

Les modèles d’Incommon gravitent autour de trois concepts principaux : les classifications, les ressources et les cartes. D’autres modèles viennent compléter et articuler ces notions (la position géographique, des discriminateurs tels des tags et des moments, etc.)

Classification

Une classification permet d’ordonner les données selon une hiérarchie à deux étages : catégories et sections. Elle offre une vision d’ensemble sur les données telles qu’approchées par un projet spécifique : Dewey Maps, RCR, le Réseau Transition, les Ressourceries, Wallonie#Demain, etc. ont tous une perspective particulière sur les communs et la transition et leur classification dédiée permet une mise en valeur de leur approche.
On limite volontairement la profondeur de la hiérarchie à deux niveaux pour éviter la complication et les ambiguïtés du placement des données : on utilisera des discriminateurs complémentaires pour enrichir les données sans les stratifier. Cette limite valorise le dynamisme des données tout en offrant à l’usager une vue d’ensemble cohérente de la perspective offerte.

Ressource

Tout marqueur inscrit sur une carte correspond à une ressource. On distingue 5 types de ressources :

  • les Collections rassemblent d’autres ressources ;
  • les Entités concernent des sujets humains ou des organisations humaines : on compte parmi ces entités les Agents qui seront en charge du maintien des ressources dans le temps ;
  • les Places indiquent une ressource géographique, telles une route, une commune, un bâtiment… ;
  • les Services indiquent un échange entre entités, tels des cours de théâtre ou des réparations de vélo ;
  • enfin, les Choses indiquent une ressource qui n’est pas habitable par des humains, comme une fontaine, une statue ou un arbre.

Chaque ressource peut faire partie d’une ou plusieurs collections. Chaque ressource peut également être associée à une ou plusieurs sections, donc apparaître dans plusieurs classifications.

Carte

Une carte offre une vue partielle (et partiale) de l’ensemble des données partagées. Associant une position géographique définissant le centre de la carte à une collection de ressources ordonnées selon une classification, la carte forme le paquet complet qu’on va afficher sous forme de carte (ou d’annuaire) spécifique à chaque projet. Par exemple, Wallonie#Demain peut maintenir une carte montrant la collection des ressources en Région Wallonne, et d’autres formant des collections restreintes pour chaque commune de la région, profitant ainsi des changements d’échelle lors de la navigation cartographique.

Versions

Les versions du logiciel comportant la base de données et son interface publique (l’API) suivent la norme SemVer : les versions commençant par zéro sont des versions de développement qui peuvent voir leur architecture et fonctionnalité changer sans préavis ; en revanche à partir de la version 1.0.0, l’API est publique et ne peut changer que sous conditions.

Version Point de mire Date prévue
v0.1.0 Modélisation des données janvier - mars 2018
v0.2.0 Définition de l’API avril - juin 2018
v0.3.0 Importation des données Dewey Maps & RCR 15 septembre 2018
(autres versions de développement) septembre - octobre 2018
v0.9.0 Ajout de points (nouvelles ressources) 15 octobre 2018
v1.0.0 Mise en production de l’API publique 31 octobre 2018
(autres versions publiques)

Fonctionnalité de la v1.0.0

La première version publique prévue pour la fin octobre se concentre sur deux fonctionnalités :

  1. la production de cartes au format GeoJSON, un standard géographique largement supporté, qui permet de reproduire sous forme de cartes les données existantes.
  2. l’ajout de ressources par l’API.

Une fois cette première version publique mise en ligne, le développement suivra les contraintes de versionnement sémantique pour ajouter des fonctionnalités et corriger des erreurs.

Ensuite…

Le développement post-v1 pourra ainsi se concentrer sur des applications utilisant l’API plutôt que sur l’API elle-même. Nous pensons notamment à la gestion collective des données qui pose un certain nombre de questions, notamment sur l’autorité sur les ressources, la gestion humaine des duplications de ressources ou des inconsistances dans la base de données, l’intégration des données entre les classifications afin que certaines sections d’un projet apparaissent automatiquement sur la carte d’un autre projet, et bien sûr l’ajout de point in situ à partir des cartes de chaque projet.

La plupart de ces développement apparaîtront dans incommon-adm pour la gestion des données par projet, incommon-cli et incommon-web pour les interfaces de lecture et d’écriture des données soit indépendamment, soit directement depuis les cartes déployées.

Comment participer

Incommon est un projet de logiciel libre : son développement est collaboratif et public, on le trouve sur Framagit. La collaboration s’effectue selon plusieurs modalités : la plateforme de conversation en ligne, les carto-parties et ateliers de découverte organisés par les associations membres du collectif Incommon, ainsi que diverses collaboration de recherche pour intégrer des données existantes et des projets.

Plateforme Incommon

https://talk.incommon.cc/ est le lieu qui rassemble à la fois les discussions concernant le développement informatique, une partie de la saisie de données, les discussions autour des acteurs de la transition et l’interaction avec les diverses parties en présence, depuis les usagers jusqu’aux membres du collectif. On y annonce également les carto-parties et les activités publiques liées au projet.

Carto-parties

Les carto-parties, héritées de la communauté d’Open Street Map sont des rassemblement dont l’objectif est de préciser les cartes autour du point de rassemblement ou autour d’un thème choisi. Elles sont menées notamment par l’association Dewey ASBL depuis 2015.

Ateliers découverte

Le collectif Incommon organise des réunions d’information auprès des acteurs de la transition et des personnes intéressées par la cartographie des communs et de la transition. Cela permet de faire découvrir le projet, d’engager de nouveaux acteurs de la transition et de faciliter l’intégration de nouvelles données.

Nous avons notamment été approchés par @Kim, doctorante en géographie dont la recherche correspond parfaitement aux sujets portés par le collectif et le projet Wallonie#Demain. Toutes ces collaborations permettent une croissance organique du projet autour des valeurs de la transition, bien ancrées dans le territoire.


#3

@fodevaux j’ai essayé JessieInk, un plugin pour Inkscape qui permet de faire des présentations, sauf qu’il y a un bug qui décale certaines diapos (fichier SVG ci-dessus) : j’ai donc exporté les diapos en PNG et inclus dans Libreoffice Impress (fichier PDF). Le mieux pour faire des changement est d’utiliser Inkscape et ré-exporter les diapos modifiées. Appelle-moi si tu as besoin d’aide. On peut se faire une séance d’ajustement en fin de journée.


#4

Super, ça me parait très bien. Désolé j’ai pas pu me plonger là-dessus plus tôt.
J’intégrerai ça demain matin et t’appelerai peut-être à ce moment là.


#5

Évidemment la distinction entre Place et Thing n’est pas tout-à-fait exacte :

  • une route n’est pas habitable (à moins d’y construire une cabane dessus :slight_smile: )
  • un arbre, lui, peut être habitable (à condition d’y construire une cabane !)

Mais en général cela suffit à donner une idée de ce pour quoi on l’utilise. D’ailleurs si quelqu’un trouve une distinction plus pertinente, nous sommes toutes ouïes.


#6

Pour information (ping @fodevaux), les objets en JSON servis actuellement sur la carte de Wallonie#Demain sont de cette forme :

{
  "name": "Une organisation en transition",
  "lat": "50.326443",
  "lon": "4.880662000000029",
  "web": "http://www.reseautransition.be/IIRS/view?ID=13071",
  "subcategories": [
    {
      "name": "Initiatives de transition",
      "id": 999
    }
  ],
  "comment": "Ce qui apparaît dans le popup. <p>C'est du <strong>HTML</strong>, mais dans le futur ce sera du Markdown.</p>",
  "last_modified_dmY": "09/03/2018"
}

Si plusieurs objets doivent être entrés, on peut utiliser un tableau en les séparant par des virgules et en plaçant cet ensemble entre crochets :

[
  {
    "name": "Une organisation en transition",
    "lat": "50.326443",
    "lon": "4.880662000000029",
    "web": "http://www.reseautransition.be/IIRS/view?ID=13071",
    "subcategories": [
      {
        "name": "Initiatives de transition",
        "id": 999
      }
    ],
    "comment": "Ce qui apparaît dans le popup. <p>C'est du <strong>HTML</strong>, mais dans le futur ce sera du Markdown.</p>",
    "last_modified_dmY": "09/03/2018"
  },
  {
    "name": "Un autre acteur de la transition",
    "lat": "50.32644339393",
    "lon": "4.8806620000029",
    "web": "http://example.net/un-autre-acteur-de-la-transition",
    "subcategories": [
      {
        "name": "Initiatives de transition",
        "id": 999
      },
     {
        "name": "autre section",
        "id": 998
      }
    ],
    "comment": "Ce qui apparaît dans le popup. <p>C'est du <strong>HTML</strong>, mais dans le futur ce sera du Markdown.</p>",
    "last_modified_dmY": "30/03/2018"
  }
]

À noter :

  • les dates et autres champs dans Incommon suivent les standards, dans ce cas YYYY-mm-dd (ex.: 2018-03-30, en ISO-8601).
  • les id des sub-categories (sections dans Incommon) diffèreront, mais cela sera pris en compte dans la conversion automatique des données.
  • le champ comment contient ce qui apparaît dans le popup lorsqu’on clique sur un marqueur de la carte : actuellement stocké en HTML il sera stocké en Markdown par la suite.

#7

Super, merci @how. Peux-tu me rappeler où trouver la liste des subcategories (name & ID) utilisées dans Wallonie#Demain ?


#8

Que penses-tu de l’idée de créer un formulaire temporaire sur le site W#D permettant aux utilisateurs de rajouter des points sur la carte.
ll s’agirait d’un simple formulaire avec les champs name, adresse (à traduire nous après en lat et lon), web, subcategories (ils choisiraient un ou plusieurs catégories dans une liste), et comment .
Une fois par semaine, je ferais un export manuel de ces données, les convertirais au format Json ci-dessus, et te les ferais parvenir.
Ensuite, tu ferais un concat du json…
Une solution dirty et temporaire pour acquérir des points dès aujourd’hui (ou demain ;-))
Qu’en penses-tu ?


#9

Les catégories se trouvent dans https://map.incommon.cc/assets/mapper.js

C’est ça ou l’API… On a déjà suffisamment de manières d’entrer des données ici.


#10

Merci.

L’autre manière dont tu parles, c’est de les envoyer sur https://talk.incommon.cc/c/17-shared-resources ?
Sans vouloir minimiser les compétences informatiques des acteurs de transition, je crain qu’un nombre d’utilisateurs ne comprenne pas que faire sur cette page.

N’étant pas connectés, ils visualisent ceci. Ils cliqueront sans doute sur Belgique, mode d'emploi qui ne leur explique pas vraiment comment procéder.

Ensuite, je crains que certains utilisateurs ne soient bloqués sur l’édition d’un template, bien commenté et détaillé, mais encore trop compliqué pour certains utilisateurs je pense

D’où ma proposition de qqch de basique de chez basique…


#11

#12

Afin d’ajouter les données de l’asbl Ressources sur la carte actuelle de Wallonie#Demain (il est important que leurs données soient déjà visibles sur le site https://www.walloniedemain.be/cartographie/), je propose de rajouter une catégorie “Magasins de seconde main” (option validée par Aurore) dans la catégorie “4: Recycler, réparer” (section 699 je propose).

Il faut ajouter une ligne dans le fichier assets/mapper.js

  {"id":15, "name":"4. Recycler, réparer", "subcategories":[
+ 	{"name":"Magasins de seconde main", "id":699},
  	{"name":"Ateliers de travail du bois", "id":138},
  	{"name":"Récup' de cartouches d'imprimantes", "id":136},
  	{"name":"Boîtes à livres", "id":50},

Et ajouter dans data le fichier json correspondant.

markers-699.json (123,6 Ko)

[Json et code validé de mon côté]

@how, ok pour cette option temporaire ? Ca serait bien de pouvoir faire cela avant notre réunion demain.

François


#13

J’ai fait évoluer le css de https://map.incommon.cc pour rendre plus visibles les sous-catégories et la possibilité de les cocher.

@charset 'UTF-8';
@import 'normalize.css';
@import 'main.css';
@import 'MarkerCluster.css'
@import 'MarkerCluster.Default.css'


:root {
    --icon-menu-on: url("data:image/svg+xml,%3Csvg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 8.467 8.467' height='32' width='32' fill='#fff'%3E%3Cpath d='M.21 5.263Q0 4.77 0 4.233q0-.537.21-1.025.212-.492.563-.843.356-.356.843-.567.492-.21 1.03-.21H5.82q.537 0 1.025.21.492.211.843.567.356.351.567.843.21.488.21 1.025 0 .538-.21 1.03-.211.488-.567.843-.35.351-.843.562-.488.211-1.025.211H2.646q-.538 0-1.03-.21-.487-.212-.843-.563-.351-.355-.562-.843zm4.788.922q.393.165.823.165.43 0 .818-.165.393-.17.678-.455.286-.285.45-.674.17-.393.17-.823 0-.43-.17-.818-.164-.393-.45-.678-.285-.285-.678-.45-.388-.17-.818-.17-.43 0-.823.17-.389.165-.674.45-.285.285-.455.678-.165.388-.165.818 0 .43.165.823.17.389.455.674.285.285.674.455z'/%3E%3C/svg%3E");
}

@font-face {
    font-family: 'Amatic SC';
    font-style: bold;
    font-weight: 700;
    src: local("Amatic SC"), local("AmaticSC"),
    url(/assets/fonts/Amatic_SC_700.woff2) format("woff2"),
    url(/assets/fonts/Amatic_SC_700.woff) format("woff"),
    url('/assets/fonts/Amatic_SC_700.ttf') format('truetype');
}
@font-face {
    font-family: 'Spectral';
    font-style: normal;
    font-weight: 300;
    src: local("Spectral"), local("Spectral Thin"),
    url(/assets/fonts/Spectral_300.woff2) format("woff2"),
    url(/assets/fonts/Spectral_300.woff) format("woff"),
    url('/assets/fonts/Spectral_300.ttf') format('truetype');
}


body {
    margin: 0;
    font-family: 'Spectral';
    font-size: 1em;
}

body > header > h1 {
    background: var(--icon-menu-on) left top no-repeat;
    margin: -0.1rem 0 -0.1rem 2rem;
    font-size: 2rem;
}
body > header > h1 span { line-height: 2rem; }

h1, h2, h3, h4, h5, h6 {
    font-family: 'Amatic SC', sans-serif;
    font-weight: bold;
}
body > aside {
    z-index: 1000;
}
body > aside > nav > ul h3 {
    font-size: 1.6rem;
    position: relative;
    max-width: 100%;
}
body > aside > nav > ul span {
    position: relative;
    border: 0.05rem solid #0009;
    border-style: solid; /* Chrome up to 61 #5 */
    display: inline-block;
    float: left;
    width: 0.6rem;
    height: 0.8rem;
    top: 0.5rem;  
    //border-radius: 50%;
    margin-right: 0.5rem;
}
body > aside nav h3::after {
    position: relative;
    content: '\25bc';
    float: right;   
    font-size: 10pt;
    top: 0.5rem;
} 

body > aside > nav li.active h3::after {
    content: '\25B2';
} 
body > aside > nav > ul h3 span.selected {
    border-color: #fff0;
    background-color: #0009;
}
body > aside > nav > ul > li ul { display: none; }
body > aside > nav > ul > li.active > ul { 
    display: block; 
    margin-left: 1.5rem;
}
body > aside > nav > ul > li.active > ul > li::before {
   content: '';
   position: relative;
   border: 0.05rem solid #0009;
   border-style: solid; /* Chrome up to 61 #5 */
   display: inline-block;
   float: left;
   width: 0.6rem;
   height: 0.8rem;
   margin-right: 0.5rem;
}

body > aside > nav > ul > li.active li.active { 
    //text-align: right; 
}

body > aside > nav > ul > li.active > ul > li.active::before {
   content: '';
   position: relative;
   border: 0.05rem solid #0009;
   background-color: #0009;
   border-style: solid; /* Chrome up to 61 #5 */
   display: inline-block;
   float: left;
   width: 0.6rem;
   height: 0.8rem;
   margin-right: 0.5rem;
}

li.on-map { font-weight: bold; }

.marker.popup h3 {
    font-size: 1.6rem;
}
.marker.popup .change {
    border-top: 4px solid;
    padding-top: 0.2rem;
}

#b-toggle {
    position: absolute;
    top: 0;
    left: 0;
    padding: 1rem;
}

/**
 * Wallonie#Demain
 **/
#map {
    background: url(/assets/svg/wallonie-demain-logo.svg) center center/50% no-repeat fixed, #800000; 
    background: #800000;
    color: #000000;
}

body > header {
    background-color: #008080;
    color: #000000;
}
body > header > h1 a:link span:first-child {
    padding-left: 10rem;
    color: transparent;
}
body > aside {
    background-color: #67736280;
    color: #791515;
    /*color: #8A580E;*/
}

/* in order */
body > aside nav > ul > li#c-6 { background-color: #FF9200; }
body > aside nav > ul > li#c-11 { background-color: #FFEB00; }
body > aside nav > ul > li#c-10 { background-color: #7CFB80; }
body > aside nav > ul > li#c-15 { background-color: #02ACCC; }
body > aside nav > ul > li#c-7 { background-color: #97C000; }
body > aside nav > ul > li#c-3 { background-color: #C6B117; }
body > aside nav > ul > li#c-2 { background-color: #7E8A0E; }
body > aside nav > ul > li#c-13 { background-color: #677362; }
body > aside nav > ul > li#c-9 { background-color: #D3A9B5; }

/* c-0 is non-existent, used as fallback */
.marker.popup .change.c-0 { border-color: #FFEB00; }
.marker.popup .change.c-6 { border-color: #FF9200; }
.marker.popup .change.c-11 { border-color: #FFEB00; }
.marker.popup .change.c-10 { border-color: #7CFB80; }
.marker.popup .change.c-15 { border-color: #02ACCC; }
.marker.popup .change.c-7 { border-color: #97C000; }
.marker.popup .change.c-3 { border-color: #C6B117; }
.marker.popup .change.c-2 { border-color: #7E8A0E; }
.marker.popup .change.c-13 { border-color: #677362; }
.marker.popup .change.c-9 { border-color: #D3A9B5; }

/**
 * Attribution
 **/

#attribution {
    width: 1.8rem;
    height: 2.4rem;
    background: #008080;
    border-radius: 50%;
}
#attribution h1 {
    margin: 0;
    text-align:center;
    line-height: 1.8;
}
#attribution.expanded {
    background: #cdd9c8c0;
    width: 20rem;
    height: auto;
    padding: 1rem;
    border-radius: 0;
}

#14

Chouette. C’est en ligne !

https://framagit.org/incommon/reseautransition/wallonie-demain-proto/commit/889ed973048106b4119e918c3acd9191082c5aef