1. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
L’OpenDATA à la portée de tous, avec SPIP
Cédric Morin
@GusLeLapin
SPIP Core-dev
Co-fondateur de http://nursit.com
2. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
OpenData
Données et accessibilité
3. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
OpenData
• Publier et mettre à disposition les données collectées et produites par
les administrations et services publics
• Mouvement d’origine anglo-saxone (US/UK/Australie)
• Objectifs :
• améliorer les échanges entre administration et citoyens
• transition vers une démocracie citoyenne
• permettre à des tiers extérieurs de produire de la valeur à partir de
ces données
4. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
OpenData
1.Complètes
2.Primaires
3.Opportunes
4.Accessibles
• les données sont accessibles au plus grand évantail d’utilisateurs possibles et pour des usages aussi divers que possible
5.Exploitables
• les données sont exploitables par ordinateur ou lisibles par les machines. Elles sont structurées pour permettre le traitement
automatisé
6.Non discriminatoires
• les données sont non discriminatoires, c’est à dire qu’elles sont accessibles à quiconque, sans aucune obligation préalable ni
inscription
7.Non propriétaires
8.Libre de droits
http://fr.slideshare.net/libertic/lopendata-5128072 s26 / Opengovdata.org
5. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Données ouvertes pour tous
http://fr.slideshare.net/libertic/lopendata-5128072 s17
6. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Données ouvertes pour ceux qui peuvent ?
http://fr.slideshare.net/libertic/lopendata-5128072 s17
Geek ?
Sociétés ?
7. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Accessibilité des données
• Pas seulement une question de disponibilité et droit d’utilisation
• Aussi une question d’accessibilité technique
• Compétences
• Outils
• Les Geeks s’en débrouillent
• le code est leur ami
• Les Sociétés s’en débrouillent
• elles ont les moyens d’acquérir les compétences
• Mais quid du citoyen ?
8. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Enjeux de l’OpenData
• Enjeu politique (au délà des enjeux économiques)
• partager les données c’est partager le pouvoir
• Partage avec tous les citoyens
• pas uniquement ceux qui maitrisent les techniques pour utiliser les
données
• ouvrir les données à tous, et pas seulement les transférer d’une élite
(services publics, administration) vers une autre (geeks)
9. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
SPIP
Outil de publication
(et plus si affinités)
10. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Système de Publication pour Internet P...
• Logiciel Libre, de publication sur Internet
• depuis 2001
• francophone
• développement totalement communautaire, adossé à aucun éditeur
ni structure
• totalement libre (pas uniquement par sa licence GPL3)
11. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
La publication pour tous
• Projet militant
• permettre à chacun d’exercer sa liberté d’expression
• sans dépendre d’un intermédiaire technique
• sans nécessiter d’expertise technique
• largement utilisé dans le monde associatif militant
• Enjeux forts en 2000, à la naissance du projet
• le web était en voie de marchandisation
• ajourd’hui il existe plein de plateformes de publication « gratuites »
• mais SPIP reste un outil d’indépendance et de liberté vis à vis de ces
plateformes
12. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Design du projet
• Le design du projet découle de ses objectifs politiques
• outil et code avant tout francophone dans un monde anglo-saxon
• on doit pouvoir contribuer à l’outil sans avoir besoin de maitriser
une langue étrangère (mais nombreuses traductions pour les
utilisateurs de SPIP)
• large support des anciennes versions de PHP, mySQL... pour
fonctionner sur les hébergements bon marchés
• n’utilise presque pas de Classes ni de coding patterns
• le code doit rester appréhendable sans avoir fait d’études
d’informatique
13. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Squelettes et BOUCLES
• Les pages publiées sont calculées à partir de squelettes (templates
chez nos amis anglo-saxons)
• Pseudo-langage qui vient enrichir HTML
• donner accès à la base de données sans devoir apprendre SQL
• rend accessible techniquement la publication d’informations
dynamiques, issues d’une base de données
• les <BOUCLES_xx(ARTICLES)> pour parcourir tous les articles du site
• décliné pour les RUBRIQUES, AUTEURS…
• les balises pour afficher les informations d’un enregistrement :
#TITRE, #TEXTE…
http://www.spip.net/fr_article894.html
14. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
hello.html
• ı
15. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
SPIP<3 (DATA)
Quand le web devient la base de données…
16. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
La boucle (DATA)
• SPIP 3 généralise le concept de boucles
• la boucle DATA permet de piocher des données sur le Web
• dans plein de formats ouverts, plus ou moins structurés
• XML, JSON, CSV, ICS, YAML…
• à travers des API via un connecteur spécialisé
• dans un tableau
• permet de parcourir une donnée profonde avec des boucles
imbriquées
• extensible à tout format ou toute API propriétaire
• via un connecteur adapté
http://www.spip.net/fr_article5444.html, http://www.spip.net/fr_article5443.html
18. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Exemple YAML
• Afficher les données d’un fichier YAML
• Le code :
• SPIP s’occupe de
• chercher le contenu de la page http://per.sonn.es/Fil.yaml
• le passer à une fonction chargée de transformer le YAML en tableau
• stocker le résultat dans un cache pour éviter de récuperer http://
per.sonn.es/Fil.yaml à chaque fois que la page est mise à jour
http://spip-love-opendata.nursit.com/yaml
19. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Exemple : le résultat
20. Exemple XML
• Afficher le cours du dollar
des 30 derniers jours
• A partir du flux de
données de la BCE
21. Exemple XML
• XML c’est la plaie ! ;)
http://spip-love-opendata.nursit.com/xml#afficherlecoursdudollardes30derniersjours
22. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Exemple XML
23. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
(petit) Mashup
• Mixer 3 sources de données :
• la liste des arrêts de bus géolocalisés du département de Saône-et-
Loire (depuis http://www.opendata71.fr)
• les photos de ces arrêts de bus (depuis http://www.opendata71.fr)
• un fond de carte OpenStreetMap
• 2 étapes :
• produire la liste des points geolocalisés, au format JSON, à partir
des données de http://www.opendata71.fr
• afficher ces points sur un fond de carte OSM à l’aide du plugin GIS
pour SPIP
http://spip-love-opendata.nursit.com/mashup
26. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Perspectives
27. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
(DATA) Remix
• La boucle (DATA) de SPIP permet très simplement
• de récupérer des données distantes dans les formats usuels
• de mettre en cache les données pour être robuste
• de reformater les données à sa guise pour des affichages
• tous les filtres et outils de SPIP pour mettre en forme et rendre
des données s’appliquent ici :
• filtres de (re)traitements d’images
• rendu cartographique
• c’est un outil pour réduire au plus simple possible l’extraction et le
rendu de données depuis une ou plusieurs sources distantes
28. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
(DATA) Mashup ?
• A ce stade, la boucle (DATA) ne permet pas de faire des MASHUP
complexes
• on peut facilement agglomérer plusieurs sources de données dans
une page, dans un graphique, dans une cartographie
• on ne peut pas mélanger des données de plusieurs sources pour
former un nouveau jeu de données
• que l’on peut filtrer, trier, parcourir à sa guise...
29. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
(DATA) Mashup.api ?
• Projet de Mashup.api (http://contrib.spip.net/Mashup-api)
• Utiliser la boucle (DATA) pour lire un jeu de donnée et le restituer dans
une forme normalisée
• dans un format pivot (YAML semblait intéressant pour sa lisibilité)
• avec les données pré-traitées (nommage, colonnes, unités...)
• « connecteurs Mashup »
• Une interface pour construire des collections de données
• on réunit des données de diverses sources passées chacunes par
leurs « connecteurs Mashup » (donc normalisées)
• agglomérées dans une table SQL
• exploitables dans les squelettes avec les boucles SPIP traditionnelles
30. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Conclusion
• Vous aimez les données libres et ouvertes ?
• Vous aimez l’idée de pouvoir les manipuler librement sans devenir
développeur ?
• Vous allez aimer utiliser SPIP et sa boucle (DATA) !
31. RMLL Bruxelles - 8/7/2013 - L’OpenData à la portée de tous, avec SPIP
Merci !
http://spip-love-opendata.nursit.com