Informatique

Agorakit after 2 years of work

Two years ago, I started a project management tool for activists. Now is the time to look back at the project and see where we are now.

Agorakit is web-based, open source organization tool for citizens collectives and similar projects. By creating collaborative groups, people can discuss topics, organize events, store files and keep everyone updated as needed. Agorakit is a forum, calendar, file manager, mapping tool and email notifier.

It is being used by several citizen initiative like "Tout autre chose" and "Hart boven Hard" in Belgium and elsewhere.

It is open source (GPL) and in active development. Development happens on Github.

The presentation website is here : https://www.agorakit.org and a demo can be tested on https://demo.agorakit.org

When I look at the features currently supported, I'm quite proud that I kept working on it for such a long time without being disturbed by other projects. I know exactly why it happened : because the project is in use by hundreds of users daily, so I need to make it work, and I need to find ressources to keep it sustainable. I didn't work in a vacuum for two years expecting the release of the perfect tool everyone (read : no one) would use. It's the constant "va-et-vient" between devs and users that makes it a viable proposal (some call it agile developement or eternal beta or you-name-it).

The problems I did try to solve are still very prevalent today among activists and citizen's collectives:

  • Mailing lists sucks : people tend to unsubscribe because they get too many emails or because flamewars starts every week
  • When a new participant want to read the story of a project, with mailing lists, pointing them to the archives is a sure way to discourage them very quickly
  • Some people love facebook, some hate it. Facebook being closed, if you use facebook groups you loose some people and you have no way to recover. Nuff said.
  • There is no really good solution that tackles the simple problem of having a forum, a calendar, a file repository and a member list at the same place and for each group. I know it's crazy but it's the sad truth.
  • You can of course use a mix of slack, goodle calendar, dropbox, mailchimp and some google map. But then :
    • you quickly have to pay (in the case of slack you have to pay to keep history...)
    • you loose privacy since data is hosted and sold by various providers
    • you loose consolidation with your data scattered everywhere
    • you loose control on who sees what / who participates in which group
    • it makes it very hard for non-geek to follow you
    • you definitely loose the oportunity to "send an email to every member" because with facebook groups, you simply don't have this information (and you never will)
    • if your group is politically engaged, you might as well be shut down by some gafa employee somewhere in the world

So yes, all in all, I'm very happy I started this journey. I really hope you will want to join the project. Any help is appreciated.

For the record, here are the current features of Agorakit :

Create groups

  • Create an unlimited amount of groups
  • The group can be open (anyone can join) or private (invite only)
  • The group can have one or more admins
  • Each group has a discussion area, a calendar, a file repository, a member list & map.
  • Only members can use the discussion area, calendar and files
  • Content is public in public groups, and private in private groups (simple security model everyone understands)

Discussions

  • Create discussion topics
  • Reply to topics with comments
  • Mention others in comments using @name (they get notified)
  • Mention files using f: (autocomplete opens)
  • Mention other discussions using d: (autocomplete opens)

Calendar

  • Create events
  • List upcoming events as a list or as a dynamic calendar
  • Show geolocalized events on a map
  • Global and per group calendar
  • iCal feed for each calendar
  • RSS
  • Embed elsewhere using iframes

Files

  • Upload & tag several files at once
  • Quick search among files by author, filename and tags
  • Preview images / download
  • re-tag files
  • Mention files in comments

Members

  • Access a list of members (global / per group)
  • Contact others without leaking your/their email (privacy)
  • Check what others are up to (activity feed)
  • Fill your profile with portrait, bio, address (if you want)

Notifications / emails

  • For each group, choose how often you want to be notified (every hour for the hardcore, everyday to keep your mailbox cool, every week or every month)
  • Auto login to your account from "Reply" links inside the notification emails you receive (great time saving)
  • Get instant notifications when someone mentions you (for urgent matters)

Admin

  • Get stats on everything
  • Mass invite members using their email
  • Mass add existing members to groups
  • Settings control panel (in progress)

Architecture

  • Standard Laravel structured application. If you know Laravel, you can work with Agorakit easily
  • Simple structure, no single page app complexities
  • Bootstrap based UI
  • Simple DB schema
  • Simple file storage scheme (per group, per file id)

Privacy

  • Host it where you want
  • Your data is yours
  • No leakage of emails
  • Geolocalization of users (on a voluntary basis) is randomized by ~100 meters
  • Open source you can study and trust

 

 

 

Un outil de cartographie open source développé pour yapaka.be

Dans le cadre de mon boulot à Yapaka.be, j'ai développé un outil de cartographie qui est -selon moi- le plus efficace que j'ai développé. La première version (il y a plus de 10 ans) tournais en filemaker. Une version suivante basée sur Drupal (un enfer à mettre à jour :-) ). Et enfin celle-ci, standalone, développée avec Laravel.

C'est mon deuxième projet Laravel (avant Mobilizator), et c'est celui qui me permet d'apprécier vraiement le passage à ce framework hyper efficace.

Je dois avouer qu'il m'aura fallu 20 ans pour apprécier pleinement les avantages d'un framework mvc moderne tel que Laravel...

Visiter l'outil en ligne ici : cartographie.yapaka.be

Et découvrez le code sur github.

Mobilizator, a tool to mobilize crowds

[note that Mobilizator has been renamed to the more friendly Agorakit]

For the growing citizen initiative called "Tout autre chose" (which I'd translate as "And now for something completely different"), we were looking for a community tool. I looked around and didn't find what we need in the open source offering.

So I started coding a mix of forum, calendar & file management with group capabilities.

Mobilizator is born, and in use at http://participer.toutautrechose.be/

Written with Laravel 5.2, this is my second laravel project. Discover, fork, enhance on github.

Help would be tremendously appreciated since it's currently a one man band.

Fabrication d'une CNC (2)

Montage et premiers essais d'une CNC avec Bulu. C'est une eShapeoko, version européenne de la Shapeoko, en version large (1mx1.5m). Le kit est super bien conçu, et n'a pas posé de problèmes particuliers pour son assemblage, mais il faut dire que nous avions déjà fabriqué une mini cnc en multiplex.

Ce qui est intéressant c'est de voir la convergence des outils et matériaux utilisés pour ce genre de machine. Que ce soit un plotter, une imprimante 3D, une découpeuse laser ou une CNC, le principe est (potentiellement) toujours le même : 

  • 3 axes
  • des profilés en alu 
  • des moteurs pas à pas
  • une interface basée sur arduino
  • du g-code (un langage qui permet de commander la machine)
  • une suite logicielle pour générer le g-code à partir de fichiers vectoriels ou 2D ou 3D

 

Et si on profitait des nouvelles conditions de facebook pour foutre le camp ?

Facebook a annoncé de manière plus ou moins discrète (une notification aux utilisateurs) ses changements de condition d’utilisation. A partir de janvier, si vous continuez à utiliser le service on peut faire de la pub personnalisée à partir de vos donnée bla bla bla, mais ne vous inquiétez pas bla bla bla.

Korben propose une explication du problème "Facebook" sur son wiki

Ça commence à faire beaucoup, alors si on en profitait pour se barrer?

Ce qui nous retient sur Facebook, ce sont les amis, les gens, les infos que l’on a pas envie de perdre. Mais si une partie suffisante des gens change de système, les choses peuvent peut être bouger.

 

Quelle alternative?

Je vous propose de passer sur diaspora*, une sorte de facebook au niveau des fonctionnalités mais qui repose sur trois principes fondamentalement différents :  

  • décentralisation : vous ne dépendez pas d’une boite basée aux états unis, vous choisissez votre fournisseur (comme pour les boites email, on va chez qui on veut).

  • liberté : vous pouvez être qui vous voulez, sans devoir communiquer votre véritable identité, et vous pouvez communiquer avec qui vous voulez.

  • confidentialité : vous êtes propriétaire de vos données, vous pouvez les reprendre avec vous à tout moment ou les retirer du net.

 

Quel fournisseur choisir?

Là, chacun fait comme il veut, il en existe toute une série dont la liste est ici : http://podupti.me/

Pour le moment je suis chez framasphere, qui est géré par Framasoft  une association française dont un des objectifs est la défense des utilisateurs d’internet. Difficile de trouver meilleure protection.

Monsieur Mondialisation en propose également un ici : https://mondiaspora.net/

 

Pas besoin de trop se casser la tête dans le choix du fournisseur: vu que vous pouvez reprendre vos données, vous pourrez à tout moment déménager ailleurs (voire un jour devenir votre propre fournisseur si vous avez le temps et les compétences). Je vous propose ces deux-ci parcequ’ils sont européens et proches de nous.

Détail important : les utilisateurs peuvent communiquer entre eux peu importe leur fournisseur. Comme avec les mails, oui oui...


 

Mais je n’ai pas envie de perdre mes amis!

Rien ne vous oblige à quitter facebook du jour au lendemain.

Mais faisons au moins le test, si chacun se crée un compte diaspora*, on verra bien si ça marche. Si personne ne bouge évidemment…

De plus, il y a moyen de connecter son compte diaspora à facebook, de manière à publier sur facebook ce que vous mettez sur diaspora. Dans ce cas évidemment, quel avantage? L’avantage c’est qu’on essaye de se désintoxiquer de facebook, et utiliser un autre outils qui nous éloigne de facebook est un bon début.

 

Pour ma part, je vais garder les deux système en parallèle, tout publier sur le deux, et voir ce qu’il se passe.

 

En résumé :

  • Allez sur Framasphere vous créer un compte

  • Ajoutez quelques mot clés (des hashtags) si ça vous chante

  • Essayez de me trouver que l’on reste en contact : philippejadin@framasphere.org

  • Postez un message sur facebook comme quoi vous êtes maintenant sur un deuxième réseau social, ouvert et libre !

  • Je m'engage à aider qui le souhaite à faire la transition (dans la mesure de mon temps disponible)

De l’influence des choix technologiques sur la vie administrative, et plus généralement, la société.

Quelques concepts informatiques qui peuvent aider dans le quotidien du travail.

On parle régulièrement de remettre de la créativité dans le travail et de la difficulté de responsabiliser les travailleurs. Chacun y met du sien, “il faudrait que tout le monde puisse participer”, “écouter ceux qui sont sur le terrain”, “récolter les expériences”, “simplifier les procédures”, “réduire la lourdeur administrative”, etc...Une question se pose dès lors : si tout le monde (usagers, collègues, directeurs...) trouve que ces concepts relèvent d’une bonne idée, comment éviter que la technologie ne freine leur application?

Je ne parlerai ici que de ce que j’ai déjà pu remarquer dans mon domaine, à savoir les technologies de l’information, internet, l’informatique en général dans le secteur public. Cette analyse cadrée dans le domaine des nouvelles technologies est certainement parcellaire, mais j’ose espérer qu’elle est exemplative d’une manière de fonctionner.

Il me semble important de réfléchir à l’impact que les choix techniques ont sur nos modes de fonctionnement. Et en quoi brider ces outils ou faire des choix techniques peu judicieux va à l’encontre de cette envie de mettre la créativité et la responsabilité au centre du travail. Car d’une part ces outils font partie intégrante du quotidien administratif et que d’autre part la théorie de la communication nous apprend que le canal de communication est intimement lié au message exprimé.

Les technologies de l’information sont depuis quelques années les précurseurs de concepts qui progressivement se distillent dans la vie de tous les jours. Ce qui à un moment donné semble être utopique, révolutionnaire, inconcevable, devient quelques années plus tard la norme. En observant les nouvelles tendances issues du monde technologique, le service public peut gagner du temps, du crédit face aux usagers, et parfois même de l’argent. Les quelques concepts ci-dessous, issus des tendances récentes au niveau informatique, sont mis en parallèle avec le monde du travail.

Service public = open source

Un logiciel libre (ou open source) est un programme dont les méthodes et techniques de conception sont accessibles et modifiables par tous. Il accorde quatre droits fondamentaux aux utilisateurs:

  • le droit de l’utiliser sans restriction d’usage,
  • le droit d’en étudier son fonctionnement grâce à sa recette de fabrication (son code source) disponible,
  • le droit de distribuer à ses proches ou à tout autre personne,
  • le droit de le modifier pour l’adapter à ses propres besoins[1]

Il n’est sans doute pas nécessaire de rappeler l’intérêt et la logique d’utiliser des logiciels libres dans un cadre de service public, d’autant que cet intérêt a été confirmé par la déclaration de politique communautaire[2].

En plus des arguments cités dans ce document, citons les intérêts en terme de simplification des appels d’offre, de pérennité des choix techniques, d’indépendance face aux prestataires.

Transparence de l’administration = Open data

“Une donnée ouverte est une donnée numérique, d'origine publique ou privée, publiée de manière structurée selon une méthodologie qui garantit son libre accès et sa réutilisation par tous, sans restriction technique, juridique ou financière. L'ouverture des données (en anglais open data) représente à la fois un mouvement, une philosophie d'accès à l'information et une pratique de publication de données librement accessibles et exploitables”.[3]

On peut voir aisément l’intérêt d’une telle approche. Mettre en ligne un ensemble de données, librement et sans restriction, rentre directement dans l’idée de fournir un service public plus transparent. Qu’il s’agisse de compte rendus de réunions parlementaires, des chiffres clé de l’enseignement, de la répartition des écoles par arrondissement, des annuaires en tout genre, il y a probablement quelqu’un, quelque part, qui pourra faire un usage novateur de ces données si nous les rendons plus accessibles. Qui sait si un citoyen ingénieux ne proposera pas un jour une méthode de répartition des élèves en fonction des données géographiques et démographiques qui permettrait de rendre le “décret inscription” plus oppérant?

On pourrait sans doute argumenter que des données générées à l’aide de financement publics devraient de facto être publiques. Il en va de même pour la recherche scientifique, mais c’est probablement un autre débat.

Logique participative des bénéficiaires = user generated content (contenu généré par les utilisateurs)

“Le contenu généré par les utilisateurs (en anglais User generated content, ou UGC) se réfère à un ensemble de médias dont le contenu est principalement, soit produit soit directement influencé par les utilisateurs finaux. Il est opposé au contenu traditionnel produit, vendu ou diffusé par les entreprises de média traditionnelles.”[4]

Prendre le “risque” de faire participer les bénéficiaires, est souvent très bénéfique pour une institution. Elle s’ouvre la possibilité de recevoir des usagers du contenu, parfois de qualité, souvent corrigé par les pairs (wikipedia en est un bon exemple) à moindre frais. La question des licences a été réglée depuis longtemps dans le cadre des logiciels libres, et ces licences sont désormais adaptées à un usage plus large.

Logique participative des employés = crowd sourcing internalisé

Le crowdsourcing (en français collaborat1 ou externalisation ouverte2), un des domaines émergents de la gestion des connaissances, est l'utilisation de la créativité, de l'intelligence et du savoir-faire d'un grand nombre de personnes, en sous-traitance, pour réaliser certaines tâches traditionnellement effectuées par un employé ou un entrepreneur.[5]

Extension du principe précédent, les principes de crowdsourcing pourraient tout à fait être appliqués au travail en interne. Combien de fois un service ne lance-t-il pas une initiative intéressante, pour se rendre compte plus tard qu’un autre service a déjà mis en place une autre solution qui fonctionne? En fédérant les idées, en rendant celles-ci disponibles sur la toile, un projet pourra être commenté, amélioré, réutilisé par d’autres services, et pourquoi pas, par d’autres administrations.

Un exemple concret : mise en place d’une photothèque

Admettons que plusieurs services veuillent partager des sources photographiques afin d’illustrer leurs sites web, leurs brochures, etc.

Si ce cas de figure se présente régulièrement, et afin de pérenniser le matériel photographique fourni par les différents services, il serait intéressant de mettre à disposition une photothèque au sein d'un groupe de travail.

  • afin de limiter les coûts et risque d’implantation, une solution open source pourrait être envisagée. Le choix de l’open source pourrait même être un impératif si on est d’accord avec l’idée que cette collection de photos doit pouvoir être exploitable librement par le groupe de travail sans dépendre d’un fournisseur de solution logicielle.
  • au niveau des droits d’accès : liberté à chacun d’alimenter la photothèque avec des photos (issues des activités du service ou autre, par exemple issues d’une pratique personnelle). On garde la trace de qui fait quoi sur le système. Les utilisateurs s’engagent à respecter les règles du jeu (entre autre : avoir les droits des images, et le respect du droit à l’image des personnes représentées)
  • liberté à tout service d’utiliser ces photos sans devoir rendre des comptes, vu que l’usage rentre dans le cadre défini du travail.

On voit avec cet exemple l’importance de proposer un système le plus ouvert possible si on veut encourager la créativité des emplyés et des services. On peut également en déduire que ce type de fonctionnement permettrait de responsabiliser les utilisateurs.

Conclusion

Le choix des outils a une influence sur le respect de la notion de service public. Les outils basés sur les concepts d’open source, d’économie contributive, et d’open data sont à privilégier dans bien des situations. Ce ne sera pas obligatoirement plus facile, mais nous sommes là face à une obligation morale voire légale, qu’il serait dommage de ne pas respecter, ne serait-ce qu’au nom de la créativité.

Ces concepts ne sont pas des idées isolées défendues par des hurluberlus. Au mois de mai 2013, 70% des sites internet utilisent un serveur issu de la communauté open source[6].

 

 


[1] Définition fournie par l’April, www.april.org

Gérer les lois comme du code source II

Dans un article précédent, j'avais évoqué l'intérêt de gérer les lois comme du code open source, en utilisant des systèmes de gestion de version.

Une vidéo de TED parle du même sujet, en introduisant le système Git (inventé par Linus Torvald). Une belle manière de mettre en avant les caractéristiques uniques de ce système : distribué et non centralisé. Bon marché. Donnant un accès illimité au contenu code complet. Tenant compte du chaos décisionnel qui est notre lot quotidien d'humains.

C'est ici que cela se passe et si vous êtes ne serait-ce qu'un peu là dedans, ça vaut la peine comme introduction au sujet :

http://www.ted.com/talks/clay_shirky_how_the_internet_will_one_day_transform_government.html

 

Fabrication d'une CNC

Avec Claude on a fabriqué une fraiseuse à commande numérique. Sur la vidéo ci-dessus elle dessine, mais elle peut aussi fraiser. On doit encore un peu travailler le workflow, parce que les outils ne sont pas ultra évidents à utiliser, mais c'est déjà un bel exemple de ce qu'il y a moyen de faire avec peu de moyens, des plans open source, et tout ce que le numérique a pu apporter.

Oui, parce que c'est grâce à différents projets opensource que l'on a pu mener à bien ce projet :

  • Mantis
  • Grbl
  • Skeinforge
  • Présentation de la caméra Axiom à Genève

    Lors des "Rencontres mondiales du logiciel libre", quelques membres du projet Apertus, dont je fais partie, ont présenté l'avancement de notre travail autour du cinéma numérique open source.

    Apertus

    Apertus est un groupement de personnes ayant un lien avec le cinéma (réalisateurs, artistes, directeurs photo, développeurs, ingénieurs, enthousiastes) dont le but est de créer des outils de cinéma selon les principes de l'open source. L'outil principal du cinéma, la caméra, est encore extrêmement propriétaire. Cela signifie que les outils à diposition sont très difficiles à modifer, les codecs sont mal documentés, on ne peut rien modifier au hardware que l'on utilise habituellement. Paradoxallement, les anciennes caméra argentiques étaient beaucoup plus bricolables, avec par exemple un plan éclaté des différentes pièces les composant, la possibilité de changer telle ou telle pièce, de modifier la mécanique ou de l'améliorer. C'était le bon vieux temps diront les grincheux, ou plus pragmatiquement le passage au capitalisme et à la production de masse... mais il est possible de faire autrement !

    Open hardware ?

    L'open hardware, c'est l'application des principes de l'open source (logiciel informatique, virtuel par définition) aux objets physiques.

    Un exemple: vous achetez une caméra qui filme à 25 images par secondes et son logiciel ne permet pas de filmer en 24, 30 ou n'importe quelle autre cadence, vous ne pourrez jamais changer la cadence de tournage. C'est une limitation purement logicielle que l'on pourrait très facilement faire sauter si on avait accès au code source qui gère la caméra.

    Autre exemple, votre caméra ne dispose pas de sortie audio pour faire le monitoring son. Impossible d'ajouter cette fonctionalité avec une caméra "propriétaire".

    A l'inverse, avec de l'open source (logiciel ouvert) et de l'open hardware (plans de construction disponibles), ajouter de telles fonctionnalités et bien d'autres encore n'est pas un problème. Au pire, vous pouvez payer quelqu'un pour le faire à votre place. Légalement. En partageant vos découvertes avec les autres. En en faisant bénéficier les futurs utilisateurs. En dialoguant avec le constructeur de votre matériel.

    Les débuts d'Apertus

    Le projet Apertus utilise depuis le début des caméras Elphel, open source et open hardware. Ces caméras de type industriel ne disposent malheureusement pas d'un capteur suffisamment grand qui permettrait d'avoir une image "cinéma" à faible profondeur de champ. Il fallait se tourner vers un développement spécifique permettant de mener à bien le projet. Ainsi est née la caméra Axiom.

    La caméra Axiom

    Le projet présenté en image ci-dessus, c'est un prototype d'une nouvelle caméra open source et open hardware, développée par le projet Apertus, dont les quelques caractéristiques publiques sont :

    • Capteur super35 (équivalent à de l'aps)
    • Résolution 4k
    • Shutter global (pas de rolling shutter donc)
    • Jusqu'à 15 stops de dynamique
    • Capture haute vitesse à la résolution maximale (nombre de fps pas encore dévoilé)
    • Enregistrement en cinema DNG (raw de chez raw donc)
    • Prix largement inférieur à 10.000$
    • Lancement d'une campagne de financement "crowdfunding" cette année

    Si tout ça n'est pas excitant!

    Je posterai d'autres infos dès que j'aurai le feu vert. Gardez un oeuil ici et sur le site apertus.org pour avoir des news. Vous pouvez également me contacter si c'est en français, ou directement l'équipe apertus si vous parlez l'anglais.