Framapétitions est mort, vive Pytition !

Dans le cadre de notre campagne « Dégooglisons Internet », nous nous étions engagés à produire, parmi 30 autres services, une alternative aux plateformes de pétitions telles que Change ou Avaaz. Cet engagement n’a pas été tenu. Pourquoi ?

Cet article fait partie des « Carnets de voyage de Contributopia ». D’octobre à décembre 2019, nous y ferons le bilan des nombreuses actions que nous menons, lesquelles sont financées par vos dons (qui peuvent donner lieu à une réduction d’impôts pour les contribuables français). Si vous le pouvez, pensez à nous soutenir.

Il était une fois les outils libres de pétitions

Les pétitions sont devenues monnaies courantes sur Internet. On peut en trouver sur à peu près tous les sujets, et elles peuvent être initiées par à peu près n’importe qui.

Évidemment, il pourra nous être opposé que ces pétitions n’ont aucun effet, si ce n’est de (se) donner bonne conscience (« J’ai signé, donc j’ai agi, donc je peux passer à autre chose »). Ou, au contraire, qu’il s’agit d’un outil de mobilisation fort utile permettant de se compter, et de récolter des contacts d’allié⋅es afin de pouvoir s’organiser collectivement. Au fond peu importe, nous faisons le constat que ces outils sont là, et qu’ils sont plébiscités par beaucoup d’internautes.

Le souci, c’est qu’il demeure forcément un flou autour de l’utilisation de nos données (très) personnelles par des plateformes dont le code n’est pas accessible, et qu’on ne peut donc utiliser ou installer pour soi en toute confiance. Ces entreprises peuvent nous jurer, la main sur le cœur, qu’elles ne font pas d’utilisation commerciale de nos données, le fait est qu’elles possèdent des données extrêmement sensibles sur nous (noms, adresses, emails, objets de militances, etc.) et que l’histoire nous montre chaque jour à quel point nous devons nous méfier des plateformes (si ce n’est pas le cas, lire notre veille hebdomadaire devrait vous en convaincre rapidement !).

Or, les outils libres de pétitions, qui permettraient de déléguer notre confiance en celles et ceux qui font tourner la plateforme, ne sont pas légion.

On peut citer par exemple l’outil de la Maison Blanche « We The People », dont le code est présent sur Github depuis des années, mais absolument plus maintenu, ce qui pose d’énormes problèmes de sécurité.

Paradoxalement, un des outils les plus solides que nous avions repéré est ce bon vieux SPIP (un logiciel français-oui-monsieur-oui-madame qui a motorisé l’annuaire Framasoft pendant plusieurs années à nos débuts). Cependant, SPIP permettant 1 000 autres choses, son interface de gestion ne nous a pas paru adaptée pour de simples pétitions, et nous avions identifié par ailleurs plusieurs problèmes potentiels dans le cadre d’un usage « multi-organisations ».

Framapétitions dans Contributopia (CC-By David Revoy)

Framapétitions : paf, pastèque !

Framapétitions et Framamail resteront les deux engagements non tenus de notre campagne « Dégooglisons Internet ».

Autant pour le Framamail, c’était un choix de notre part (trop coûteux à mettre en place et maintenir, et trop de risque de créer une dépendance à Framasoft), autant pour Framapétitions, il ne manquait pas grand-chose pour y parvenir.

En effet, Framapétitions devait être un « sous produit » de Framaforms, développé par Pierre-Yves Gosset (« pyg » pour les intimes), le directeur et délégué général de Framasoft. Comme ce dernier l’indiquait en 2016

[…] en fait Framaforms servira aussi de « bêta test grandeur nature » à un autre projet « Dégooglisons » de Framasoft, à savoir Framapétitions. Si mes choix tiennent la route, alors je pense que je pourrai me relancer un nouveau défi : réaliser Framapétitions en moins de 4 jours ETP (Équivalent Temps Plein) et 0 ligne de code 🙂

Et alors… ? Et bien « paf-pastèque », comme on dit chez nous ! Il faut croire qu’être directeur de Framasoft ne lui aura pas permis, en trois ans, de trouver une semaine pour s’abstraire du monde et aller coder dans une grotte.

En conséquence, Framapétitions fut sans cesse repoussé au profit d’autres urgences professionnelles ou personnelles.

Une rencontre opportune (et opportuniste)

Début 2018, alors que notre pyg national se demandait encore quand il allait pouvoir trouver le temps de se remettre à Framapétitions, nous avons eu la chance de croiser le chemin d’une autre association : « Résistance à l’Agression Publicitaire » (R.A.P.). Bien qu’ayant un objet de militance a priori éloigné du logiciel libre (la lutte contre le système publicitaire et ses effets négatifs), nous avons vite accroché avec cette association dont les valeurs et les modalités d’actions nous semblent proches des nôtres.

Lors d’une discussion informelle autour de l’intérêt de mettre en place une instance PeerTube au sein de R.A.P. (ce que l’association a fait depuis, bravo à elle !), pyg a évoqué sa frustration concernant Framapétitions. La réaction fut aussi surprenante qu’intéressante : « Ha mais nous on a développé notre propre outil de pétitions, et on l’a mis sous licence libre. »

Site web de Résistance à l’Agression Publicitaire

Les discussions commencèrent alors avec Yann, le développeur de cet outil, nommé Pytition (car le logiciel est développé en langage Python).

Nous avons alors convenu d’un partenariat informel entre nos deux structures : Yann continuerait le développement de Pytition (notamment en y ajoutant une couche permettant de gérer de multiples organisations) et Framasoft participerait à la communication et à l’agrandissement de la communauté de cet outil.

L’intérêt pour R.A.P., c’est que leur projet ne reste pas dans un tiroir et puisse servir à d’autres structures amies, tout en ayant une certaine pérennité.

L’intérêt pour Framasoft, c’est qu’on ne charge pas sur nos épaules le développement et le maintien d’une application de plus (on rame déjà suffisamment avec celles qu’on propose, merci :) ).

L’intérêt commun, c’est de démontrer qu’il est possible, pour une structure qui n’est pas spécialisée dans le numérique, de malgré tout produire et se réapproprier ses propres outils !

Si R.A.P. peut produire son outil de pétitions, pourquoi Greenpeace, par exemple, ne pourrait-elle pas produire un outil libre de crowdfunding ? Ou la Ligue des Droits de l’Homme développer un outil libre de gestion de revue de presse ?

Pytition avance, et a besoin de vous

Bonne nouvelle : Yann a bien avancé depuis notre première rencontre. Le logiciel fonctionne bien, puisqu’il est utilisé actuellement en production en version 1.x par R.A.P. Pytition est même très, très proche d’une version 2.0 (il ne manque plus que votre aide : voyez comment en bas de cet article !).

Capture écran Pytition v1 depuis le site de R.A.P.

Mais Yann a cependant besoin d’aide pour parachever cette version 2.0. Afin qu’elle puisse être proposée au public et surtout aux associations qui voudraient l’installer et gérer leurs propres pétitions.

Le mieux est sans doute de lui donner la parole !

Interview de Yann Sionneau, développeur de Pytition

Bonjour Yann, peux-tu te présenter ?

Bonjour, exercice difficile !

J’ai 31 ans, j’habite Grenoble depuis bientôt 1 an, avant j’étais sur Paris. Je contribue bénévolement au monde associatif depuis quelques années. Bénévole de l’association Résistance à l’Agression Publicitaire depuis 2016 (loi travail), je suis membre du conseil d’administration de l’association depuis 1 an et je viens de m’y faire ré-élire le week-end dernier lors de l’assemblée générale a Lyon pendant les « rencontres intergalactiques ».

Trompettiste sur mes heures perdues (qui sont plus rares que je ne voudrais =)), je profite aussi des montagnes grenobloises pour faire de l’escalade.
Professionnellement je suis développeur de logiciel embarqué dans une boite qui fait du semi conducteur, je bosse principalement sur le kernel Linux, la libc, et je commence à mettre les mains dans la toolchain (gcc, binutils).

Tout ça, comme tu peux le voir est bien loin du développement web, matière ou je suis plutôt novice et en cours d’auto-formation :)

Pourquoi t’es tu lancé dans le développement de Pytition ?

Il faut savoir qu’à R.A.P. (Résistance à l’Agression Publicitaire), on essaie d’être le plus « propre » qu’on peut dans notre démarche militante et les moyens qu’on met en place pour atteindre nos buts.

Par exemple on a une vraie réflexion sur l’usage des réseaux sociaux, sur les aspects vie privée, et publicité, mais aussi sur la culture de l’instantané et l’économie de l’attention.

A partir de là, il faut quand même être pragmatique et quand on veut toucher les gens avec nos articles, nos communiqués et nos pétitions, il est clairement plus efficace d’utiliser les réseaux sociaux hégémoniques.

Un compromis a dû être mis en place chez R.A.P., on a donc écrit une charte d’utilisation des réseaux sociaux qu’on essaie de respecter le plus possible.

En l’occurrence, on s’autorise à poster sur les réseaux sociaux propriétaires/publicitaires, avec des liens vers nos sites et vers les autres réseaux alternatifs. Mais on s’interdit de ramener des gens vers les réseaux propriétaires en faisant des liens de notre site vers eux. Donc pas de lien d’antipub.org vers f*cebook, mais on va faire des billets f*cebook avec des liens vers nos articles R.A.P..

Un jour, Khaled (ancien président de R.A.P., aujourd’hui salarié) me demande si je peux regarder si je trouve un moyen pour que RAP puisse auto-héberger ses pétitions en ligne vu que nous nous interdisions d’utiliser des plateformes telles que « change dot org ».

Le module WordPress utilisé à l’époque étant peu satisfaisant en termes de fonctions et d’interface.

On a regardé, et on n’a rien trouvé qui répondait à nos besoins.

J’étais chaud pour me lancer dans l’écriture d’une solution ad-hoc pour R.A.P., mais dans le doute quand même avant de commencer j’ai contacté Framasoft pour savoir s’il n’y avait pas un Framapétitions prêt à sortir. Dans ce cas j’aurais attendu un peu, mais on m’a plutôt encouragé à développer une solution pour R.A.P., quitte à ensuite la rendre plus générique pour étendre son usage au delà de la galaxie RAP.
On avait besoin d’un système de pétitions « pour dans 2 mois ».

J’ai donc écrit, à la va-vite, depuis 0, un système très basique, uniquement destiné à l’usage de R.A.P., dans un langage que je connaissais bien : Python (avec le framework web Django).

Au final ça a été rapidement mis en production, et cette v1.0 héberge déjà 9 pétitions, consultables ici : https://petition.antipub.org/

Pytition, tu en es où, tu veux aller où ?

Par rapport à la v1.0, on a fait beaucoup de chemin.

L’interface a été entièrement revue ;

Il y a maintenant un « tableau de bord » qui permet d’avoir une interface d’administration de ses pétitions ;

La v1.0 ne proposait aucun « backend » et on était obligé d’utiliser l’interface d’administration fournie par Django, qui est assez limitée ;

Une création plus rapide des pétitions grâce à un « Wizard » ;

Le support multi-organisations, qui permet à la même instance d’héberger non seulement plusieurs utilisateurs mais aussi plusieurs organisations ;

La gestion des perma-links (ou slugs) : chaque pétition peut avoir plusieurs « liens » permalinks avec le texte souhaité. Plus joli qu’un lien se terminant par [...]/petitions/12 ;

Gestion des traductions via i18n, tout le site peut être traduit (mais pas le contenu des pétitions) ;

Le support de re-transmission des mails refusés par le SMTP via un framework de « mail queue ». (Notre hébergeur associatif ouvaton.org refuse des mails si on en envoie trop dans un petit laps de temps) ;

L’interface est plus responsive (s’adapte aux smartphones), mais ça n’est pas encore parfait.

Les plans pour le futur ?

Bosser sur l’accessibilité du site (navigation par lecteur d’écran).

Possibilité d’ajouter un captcha pour la signature et la création de compte (pas celui de g**gle, un auto-hébergé).

Possibilité de créer une pétition « sans compte » (avec juste une adresse e-mail).

Ajouter des « thèmes » (templates Django) de pétitions différents, sélectionnable par pétition.

Donner la possibilité de choisir la liste des champs à renseigner pour signer, par pétition.

Ajouter des boutons optionnels de partage de réseaux sociaux (Mastodon, Diaspora).

Permettre la traduction des contenus (les pétitions) en plusieurs langues.

Réfléchir à la possibilité de réduire voir de supprimer l’usage du JavaScript (pour permettre la navigation via Tor configuré de façon très stricte).

Capture écran du tableau de bord Pytition v2 bêta

On peut tester Pytition ?

Oui !

Une version de démonstration de la v2.0, en bêta, est disponible ici : https://pytitiondemo.sionneau.net/

C’est uniquement disponible pour jouer avec, car la base de donnée sera effacée régulièrement au gré des mises à jour. Ne pas s’en servir pour une vraie pétition ;)

Comment peut-on t’aider ?

Vous pouvez m’aider de plein de manières différentes :

Essayez Pytition (https://pytitiondemo.sionneau.net) et faites-moi des retours (par mail ou via https://github.com/pytition/pytition/issues ) ;

Installez Pytition et dites-moi comment ça se passe ;

Contribuer à une documentation d’installation ;

Contribuer à une documentation d’utilisation ;

Traduire le logiciel dans une langue qui vous est familière ;

Rapportez des bogues, proposer des améliorations ;

Améliorez l’interface graphique ;

M’aider à rendre l’interface « accessible » ;

Contribuez avec du code pour corriger les bugs et rajouter des fonctionnalités.

J’ai aussi besoin d’aide pour financer le développement du projet, vous pouvez faire des dons ici :

Patreon : https://www.patreon.com/yannsionneau

Tipeee : https://fr.tipeee.com/pytition

Liberapay : https://liberapay.com/yannsionneau/donate

Quelque chose à ajouter ?

Je suis ravi qu’on puisse tisser des liens entre le monde de l’anti-pub et celui du logiciel libre. Deux mondes a priori distincts mais qui en réalité s’entrecroisent de bien des manières.

Dans un deuxième temps, je profite de cet espace de parole qui m’est laissé pour passer un petit coup de gueule.

Je voudrais pointer du doigt ce qui m’apparaît comme une montée en puissance de la répression vis à vis des mouvements sociaux en général et du monde associatif en particulier. On voit de plus en plus d’associations comme Attac, ANV/Alternatiba ou RAP dernièrement (mais aussi entre autre des groupes informels féministes qui dénoncent les féminicides, le collectif Vérité pour Adama, …) qui subissent de sérieuses tentatives d’intimidation suite à leurs actions. Ce genre d’actions, il n’y a pas si longtemps, ne déclenchait pas tous ces mécanismes : interpellations, contrôles d’identité, gardes à vue, souvent suivis de procédures judiciaires. Il devient très compliqué de faire avancer les sujets de société sans se trouver rapidement confronté à la police et à la justice. Je trouve ça très dommageable pour notre démocratie. Celle-ci ne s’arrête en théorie pas au simple fait de voter pour l’exécutif et le législatif mais inclut aussi la participation directe des citoyen⋅ne⋅s : dans les échanges, le plaidoyer, la mobilisation, la sensibilisation, la co-construction d’alternatives et bien d’autres modes d’actions.

Je déplore la radicalisation de l’exécutif, qui s’isole de plus en plus de l’effervescence politique du reste de la population. J’aimerais que l’exécutif s’inspire beaucoup plus de ce qu’il se passe dans la société civile plutôt que de rester dans la confrontation. Pour finir sur une note plus positive, je pense que malgré les difficultés posées par le contexte répressif, il faut continuer d’œuvrer pour construire la société dans laquelle nous souhaitons vivre.

[Note de Framasoft : pour celles et ceux que le sujet intéresse, nous reparlerons spécifiquement de ce rétrécissement de l’espace démocratique et des formes de répressions envers les associations dans quelques semaines sur le Framablog.]

Framasoft : Merci Yann d’avoir répondu à nos questions, et d’avoir développé Pytitions ! Nous encourageons les lectrices et lecteurs du Framablog à soutenir Yann, que ça soit sous forme financière pour qu’il puisse se dégager du temps, en l’aidant sur le logiciel (documentation, développement, etc.), ou tout simplement en le remerciant et en l’encourageant à poursuivre ce travail.

Rendez-vous sur la page des Carnets de Contributopia pour y découvrir d’autres articles, d’autres actions que nous avons menées grâce à vos dons. Si ce que vous venez de lire vous plaît, pensez à soutenir notre association, qui ne vit que par vos dons. Framasoft étant reconnue d’intérêt général, un don de 100 € d’un contribuable français reviendra, après déduction, à 34 €.

Soutenir Framasoft

Illustration d’entête : CC-By David Revoy