Je suis en train de regarder la video de la conférence Digital4Change avec M.Yunus et M.Hirsch chez HEC la semaine dernière.
Et la première intervention de Martin Hirsch me laisse croire qu’il y a une action technologique à fort impact social qui pourrait être lancée par un geek qui s’ennuierait un peu (ça doit bien exister, non ?). L’objectif social serait de faciliter l’engagement des jeunes (et moins jeunes) dans des actions de volontariat (à temps plein, indemnisé), de bénévolat (sur le temps libre, non indemnisé) ou de mécénat (à temps partiel ou plein, sur le temps de travail) auprès d’associations d’intérêt général. Ce que je suggère, c’est d’agréger et publier en linked data l’ensemble des missions de volontariat publiées par les diverses agences de service civique, en commençant par l’agence nationale française. Il y a même déjà un flux RSS 2.0 des missions.
Ensuite, il y a Unis Cités, le précurseur français. Pas de flux RSS ?
En France, on a aussi les missions de bénévolat. Je pense à Passerelles & Compétences et de multiples autres organisations similaires.
A l’étranger, il y a des dizaines de sites équivalents. Je pense notamment à idealist.org (qui a aussi un flux RSS de missions) et d’autres.
Ce serait vraiment génial de publier des flux interopérables de toutes ces bases de volontariat et d’en publier une vue agrégée sur un site central, avec possibilité de recherche multicritère et d’alerte (en flux RSS ou par email).
Bon, ceci dit, c’est un peu nul de ma part de suggérer cette idée dans la mesure où je ne prendrai probablement pas le temps de lancer techniquement une telle initiative. Mais je serais ravi d’y participer et d’y inclure les flux de missions de plate-forme ouvertes de mécénat de compétences (Mecenova, Wecena, et pourquoi pas makesense et d’autres, …). Ca inspire un hacker de passage par ici ?
Bonjour à tous,
Notre site http://LesAssos.com, 1er Hub Social dédié à l’univers associatif, diffuse gratuitement les offres et les demandes de missions de bénévolat.
Nous serons ravis de participer à une telle opération d’intérêt général et donc sommes prêts à
– émettre vers d’autre sites les annonces bénévolat postées par nos membres
– publier celles provenant d’autres sites (sous réserve du respect des valeurs éthiques qui sont les nôtres).
Vous pouvez dès à présent me contacter pour mettre en place ces flux.
Si vous souhaitez en savoir plus sur LesAssos : http://lesassos.com/sn/page/view/fr_About
A Bientôt,
Bien cordialement
Jean-Luc Arfi
jl.arfi@LesAssos.com
http://LesAssos.com
Suivez moi sur Twitter: http://twitter.com/JLArfi
Suivez LesAssos sur Twitter: http://twitter.com/LesAssos_fr
Devenez fan sur Facebook: http://www.facebook.com/pages/LesAssos/305544658976?
Bonjour Jean-Luc !
LesAssos est à la pointe, à ce que je vois. :)
En relisant mon post, et en faisant quelques recherches sur Google, je suis retombé sur le service « socialactions.com » qui date déjà de 2008 mais qui a fait un long chemin en matière d’agrégation de missions et actions de bénévolat. Ils réunissent déjà plus de 60 sources de missions bénévoles.
Peut-être que lesassos devrait s’inscrire sur socialactions.com ? Pour s’inscrire, techniquement, il suffit de leur envoyer l’adresse d’un flux RSS qui donne des missions. Une première étape pour lesassos.com pourrait donc consister à créer un flux RSS des offres de missions bénévoles et à inscrire ce flux sur la plate-forme socialactions.com
Mais socialactions a ses limites : c’est principalement (uniquement ?) de l’anglais. Et les seuls critères de mission utilisables sont la date de création, le thème et la source. Impossible de différencier facilement les missions indemnisées ou non, celles qui sont à moins de 20km de chez moi, celles sur mon temps de travail et celles sur mon temps libre, celles à temps partiel et celles à temps plein, celles sur mes compétences d’informaticiens et celles sur mes compétences de juriste (c’est juste un exemple). Bref, c’est un agrégateur de contenus non structurés, pas un agrégateur de données structurées.
Pour aller plus loin que socialactions.com, il à mon avis nécessaire d’imaginer une technologie un peu plus riche qu’un agrégateur de flux RSS. Je pense à des données structurées telles qu’un microformat ou bien, mieux encore, des données liées (linked data). Le risque premier à éviter serait de se mettre d’accord sur un format commun car on est alors partis pour des discussions à n’en plus finir et un résultat bien maigre à la fin. Un format commun mais aucun contenu dans ce format.
Peut-être vaudrait-il mieux que chaque site source, dans son coin, publie ses données sous forme d’un flux structuré et que chaque site source publie dans un wiki partagé un tutoriel technique « comment faire comme moi ». En parallèle de l’élaboration de ce wiki, on pourrait commencer la réalisation d’un agrégateur qui supporte ces différents formats.
Le problème, c’est que les sites ne savent pas forcément comment publier leurs données sous une forme structurée et exploitable ni même pourquoi le faire. Et ceux qui savent comment n’ont pas forcément le temps de faire…
Pour parler de ma propre chapelle (Wecena), par exemple, je vois bien pourquoi le faire mais ce n’est pas une priorité pour moi. Et je sais comment faire. Ca me prendrait du temps. Alors je ne le fais pas.
C’est un problème de poule et d’oeuf : si il y avait déjà un agrégateur de données liées avec un focus spécifique sur les missions de volontariat, je pense que je ferai l’effort de m’y mettre, ne serait-ce que dans l’espoir de capter un peu plus d’attention de la part d’éventuelles SSII en recherche de missions de mécénat de compétences. Mais comme il n’y a pas encore d’agrégateur de ce type mais rien que des silos isolés les uns des autres, la motivation économique n’est pas suffisante pour moi.
Peut-être devrait-on créer un projet Ulule (et/ou Kickstarter) ? Un projet qui dise « si nous collectons plus de x.000 EUR, alors nous ferons un agrégateur de missions de volontariat et offrirons notre soutien à 10 sites sources » ?
nous offrons aussi le software pour collectivités, associations, initiatives citoyennes et Social Entrepreneurs voulant travailler ensemble
regarder aussi sur http://www.startnext.de ´la variante du crowdsourcing pour financer les événements locaux.
Bonjour Jean,
Belle proposition, je pense que pas mal de gens sont déjà sur ce créneau, de manière lucrative ou nom.
L’idée de tout agréger pourrait se faire par un groupe Posterous ou une page netvibes publique si c’est possible. Le problème c’est que le RSS n’est pas forcément de mise pour tout les sites donc il faudrait passer par Yahoo Pipes ou autre scrapper…
En tout cas merci de proposer cette idée et de parler de MakeSense (serait-il possible de mettre un lien vers le site en passant? on aime beaucoup qu’on parle de nous :D)
Bien cordialement,
Simon, ex assistant mécénat aux Eurocks, actuel sense maker et toujours intéressé par les bonnes idées ;)
Je viens d’essayer de faire une sorte de ‘scrapper’ du flux RSS de service civique, mais ce n’est pas très probant :
– Déjà, les données du flux RSS sont assez mal structurées et encodées/échappées, ce qui m’a bien compliqué la tâche (obligé de dé-échapper et de changer d’encodage, et j’ai ‘parsé’ avec DOM et XPath) ;
– Mais surtout, le flux RSS ne retient que les 10 dernières offres.
Sans format de diffusion exhaustif et structuré, c’est assez dur d’envisager un tel projet. Une autre idée peut-être de fournir un formulaire unifié de recherche sur plusieurs sites, qui s’occuperait de « remplir les formulaires » comme il faut. Là aussi il faudra un niveau d’indirection et de correction pour faire correspondre des champs à d’autre…
Je vais essayer ça, mais ce n’est pas non plus garanti de fonctionner. Des idées d’autres sites qui proposent des missions ? (Je ne bidouille que sur service-civique pour l’instant)
J’ai oublié de signer mon précédent message.
Valentin, « hacker de passage par ici »
Simon,
Vive http://www.makesense.org/ :)
Oui, le problème est énorme : tous les sites ne fournissent pas de flux de données et ceux qui le font le font en RSS, ce qui n’est pas vraiment satisfaisant si on veut vraiment « ouvrir les données » de ces sites, c’est-à -dire les rendre vraiment ré-exploitables par ailleurs.
Salut Valentin !
Si je devais me lancer dans le scraping de ces sites, personnellement, j’oublierais leur flux RSS et je tenterai de programmer un crawler+scraper en python avec la bibliothèque Scrapy qui irait directement interroger leur formulaire de recherche. Après avoir testé de nombreux packages de scraping, je trouve que c’est vraiment la meilleure ! C’est une manière simple de « remplir le formulaire » de manière automatisée. Et je n’essaierais pas de faire un formulaire qui va lancer des requêtes en « live » vers les formulaires sources (dans le temps, il y avait les « méta-moteurs de recherche » qui prétendaient faire ça). Mieux vaut sans doute les agréger (en faire une copie) et permettre une recherche sur le site agrégé.
Mais une fois que tu as scrapé les données, tu n’as fait qu’un pas en avant car tu as les données en RAM dans une structure mais elles ne sont toujours pas rendues partageables librement. Il faudrait trouver un moyen d’encourager les sources à publier eux-même leurs données sous une forme exploitables, ce qui rendra inutiles de futurs scraping.
Pour la partie « partage » (publication), se posent les questions du modèle de données, du schéma et du format (syntaxe). Pour le schéma, je serais d’avis que chaque source conserve son schéma propre plutôt que d’essayer d’imposer un schéma commun en amont (si chacun fait son flux, il le fait dans son propre schéma, c’est à l’agrégateur de réconcilier les schémas de manière à ne pas introduire de contrainte excessive près des sources et faire du « loose coupling »). Pour le modèle, il y a plusieurs options : un modèle « à plat » (table unique, style CSV), un modèle relationnel, un modèle en arbre ordonné (à la XML) ou un modèle en graphe (style RDF). Le modèle le plus flexible est celui du graphe (en RDF) et celui le plus simple c’est le modèle à plat. Pour le format, peu importe du moment qu’on trouve facilement des bibliothèques pour lire et écrire.
A court terme, la meilleure option consisterait à publier un fichier CSV pour chaque source, avec une vue « à plat » de toutes les données de chaque source (un dump). Mais, à terme, la meilleure option me semble de publier ces données en linked data (graphe RDF en XML, avec des URLs construites judicieusement) car c’est vraiment la techno qui est faite pour le partage de données.
Bref, si je devais conseiller une approche, ce serait :
1) pour chaque source, faire un scraper python avec scrapy
2) pour chaque source et chaque élément de donnée, tu mets à jour ta copie locale des données dans un fichier CSV ou un graphe RDF (par exemple en utilisant la bibliothèque rdflib en python) publiés sur un serveur Web
3) ensuite, tu écris ton schéma agrégé et un module qui met en correspondance les schémas sources avec ton schéma agrégé et tu fais un autre dump des données dans un fichier
4) tu écris un formulaire qui permet des requêtes sur cette base de données agrégée
Pour les autres sources possibles, j’en ai cité plusieurs dans l’article : Unis-Cités, Passerelles & Compétences, idealist, socialactions.com, Mecenova, Wecena, peut-être makesense et aussi lesassos.com.
Tu verras que ces sources ont des données très disparates !
N’oublies pas de faire tout ça dans un repository public de code source histoire d’avoir l’espoir que quelqu’un vienne te filer un coup de main !
A+ et bon courage
Python ? Ca tombe bien, je faisais mon interface web en Django (donc Python), ça sera simple à interfacer.
Merci pour Scrapy, j’y jetterai un oeil (plutôt que de tout faire à la main comme je viens de faire).
Merci également pour l’idée de RDF, je ne connaissais pas vraiment (j’en avais entendu parler), et ça semble opportun ici.
Je continuerai à bosser là-dessus les jours qui viennent.
Je me suis mis à Scrapy aujourd’hui donc, et j’ai fini une première version d’un scrapper pour service-civique.gouv.fr
Pas encore parfait mais au moins il arrive à « crawler » tout le site sans erreur (même quand le site contient des erreurs…).
Sources ici :
https://github.com/Ptival/social_scrapper