MobiliZon : reprendre le pouvoir sur ce qui nous rassemble

Nous voulons façonner les outils que les géants du Web ne peuvent ni ne veulent créer. Pour y parvenir, nous avons besoin de votre soutien.

Penser hors des sentiers battus par les actionnaires

Pauvre MeetUp ! Pauvre Facebook avec ses événements et ses groupes ! Vous imaginez combien c’est dur, d’être une des plus grandes capitalisations boursières au monde ? Non mais c’est que les actionnaires ils sont jamais contents, alors il faut les arracher avec les dents, ces dividendes !

Nos pauvres petits géants du Web sont o-bli-gés de coder des outils qui ne vous donnent que très peu de contrôle sur vos communautés (familiales, professionnelles, militantes, etc.). Parce qu’au fond, les centres d’intérêt que vous partagez avec d’autres, c’est leur fonds de commerce ! Nos pauvres vendeurs de temps de cerveau disponible sont trop-for-cés de vous enfermer dans leurs plateformes où tout ce que vous ferez sera retenu envers et contre vous. Parce qu’un profil publicitaire complet, ça se vend plus cher, et ça, ça compte, dans leurs actions…

Cliquez sur l’image pour aller voir la conférence « Comment internet a facilité l’organisation des révolutions sociales mais en a compromis la victoire » de Zeynep Tufekci sur TED Talk

Et nous, internautes prétentieuses, on voudrait qu’ils nous fassent en plus un outil complet, éthique et pratique pour nous rassembler…? Mais on leur en demande trop, à ces milliardaires du marketing digital !

Comme on est choubidou chez Framasoft, on s’est dit qu’on allait leur enlever une épine du pied. Oui, il faut un outil pour organiser ces moments où on se regroupe, que ce soit pour le plaisir ou pour changer le monde. Alors on accepte le défi et on se relève les manches.

On ne changera pas le monde depuis Facebook

Lors du lancement de la feuille de route Contributopia, nous avions annoncé une alternative à Meetup, nom de code Framameet. Au départ, nous imaginions vraiment un outil qui puisse servir à se rassembler autour de l’anniversaire du petit dernier, de l’AG de son asso ou de la compète de son club d’Aïkido… Un outil singeant les groupes et événements Facebook, mais la version libre, qui respecte nos sphères d’intimité.

Puis, nous avons vu comment les « Marches pour le climat » se sont organisées sur Facebook, et comment cet outil a limité les personnes qui voulaient s’organiser pour participer à ces manifestations. Cliquera-t-on vraiment sur «ça m’intéresse» si on sait que nos collègues, nos ami·e·s d’enfance et notre famille éloignée peuvent voir et critiquer notre démarche ? Quelle capacité pour les orgas d’envoyer une info aux participant·e·s quand tout le monde est enfermé dans des murs Facebook où c’est l’Algorithme qui décide de ce que vous verrez, de ce que vous ne verrez pas ?

L’outil dont nous rêvons, les entreprises du capitalisme de surveillance sont incapables de le produire, car elles ne sauraient pas en tirer profit. C’est l’occasion de faire mieux qu’elles, en faisant autrement.

Nous avons été contacté·e·s par des personnes des manifestations #OnVautMieuxQueÇa et contre la loi travail, des Nuits Debout, des Marches pour le climat, et des Gilets Jaunes… Et nous travaillons régulièrement avec les Alternatiba, l’association Résistance à l’Agression Publicitaire, le mouvement Colibris ou les CEMÉA (entre autres) : la plupart de ces personnes peinent à trouver des outils permettant de structurer leurs actions de mobilisation, sans perdre le contrôle de leur communauté, du lien qui est créé.

Groupe gilets jaunes sur Facebook : «Quelle que soit l'issue du mouvement, la base de donnée "opinion" qui restera aux mains de Facebook est une bombe démocratique à retardement ... Et nous n'avons à ce jour absolument aucune garantie qu'elle ne soit pas vendue à la découpe au(x) plus offrant(s). »
Cliquez sur cette image pour lire « Après avoir liké, les Gilets Jaunes iront-ils voter ? » d’Olivier Ertzschied.

Or « qui peut le plus peut le moins » : si on conçoit un outil qui peut aider un mouvement citoyen à s’organiser, à s’émanciper… cet outil peut servir, en plus, pour gérer l’anniversaire surprise de Tonton Roger !

Ce que MeetUp nous refuse, MobiliZon l’intègrera

Concevoir le logiciel MobiliZon (car ce sera son nom), c’est reprendre le pouvoir qui a été capté par les plateformes centralisatrices des géants du Web. Prendre le pouvoir aux GAFAM pour le remettre entre les mains de… de nous, des gens, des humains, quoi. Nous allons nous inspirer de l’aventure PeerTube, et penser un logiciel réellement émancipateur :

  • Ce sera un logiciel Libre : la direction que Framasoft lui donne ne vous convient pas ? Vous aurez le pouvoir de l’emmener sur une autre voie.
  • Comme Mastodon ou PeerTube, ce sera une plateforme fédérée (via ActivityPub). Vous aurez le pouvoir de choisir qui héberge vos données sans vous isoler du reste de la fédération, du « fediverse ».
  • L’effet « double rainbow » de la fédération, c’est qu’avec MobiliZon vous donnerez à vos événements le pouvoir d’interagir avec les pouets de Mastodon, les vidéos PeerTube, les musiques de FunkWhale
  • Vous voulez cloisonner vos rassemblements familiaux de vos activités associatives ou de vos mobilisations militantes ? Vous aurez le pouvoir de créer plusieurs identités depuis le même compte, comme autant de masques sociaux.
  • Vous voulez créer des événements réellement publics ? Vous donnerez le pouvoir de cliquer sur « je participe » sans avoir à se créer de compte.
  • Il faut lier votre événement à des outils externes, par exemple (au hasard) à un Framapad ? Vous aurez le pouvoir d’intégrer des outils externes à votre communauté MobiliZon.

dessin de MobiliZon par Devid Revoy
MobiliZon, illustré par David Revoy – Licence : CC-By 4.0

La route est longue, mais MobiliZon-nous pour que la voie soit libre !

Nous avons travaillé en amont pour poser des bases au projet, que nous vous présentons aujourd’hui sur JoinMobilizon.org. Au delà des briques logicielles et techniques, nous avons envie de penser à l’expérience utilisateur de l’application que les gens auront en main au final. Et qui, en plus, se doit d’être accessible et compréhensible par des néophytes.

Nous souhaitons éprouver ainsi une nouvelle façon de faire, en contribuant avec des personnes dont c’est le métier (designeurs et designeuses, on parlera très vite de Marie-Cécile et de Geoffrey !) pour œuvrer ensemble au service de causes qui veulent du bien à la société.

Le développement se fera par étapes et itérations, comme cela avait été le cas pour PeerTube, de façon à livrer rapidement (fin 2019) une version fonctionnelle qui soit aussi proche que possible des aspirations de celles et ceux qui ont besoin d’un tel outil pour se mobiliser.

Voilà notre déclaration d’intention. La question est : allez-vous nous soutenir ?

Car pour avancer vers la concrétisation de MobiliZon, et prolonger l’ensemble de nos projets, il n’y a pas de secrets : nous avons besoin de dons. Des dons qui, on le rappelle, restent déductibles des impôts (pour les contribuables français·es).

Pour notre campagne de dons de cette année, nous avons fait le choix de ne pas utiliser des outils invasifs qui jouent à vous motiver (genre la barre de dons qu’on a envie de voir se remplir). On a voulu rester sobre, et du coup c’est pas super la fête : on risque d’avoir du mal à ajouter MobiliZon dans notre budget 2019…

Alors si MobiliZon vous fait rêver autant que nous, et si vous le pouvez, pensez à soutenir Framasoft.

Faire un don pour soutenir les actions de Framasoft

 




Retour sur le Fédérathon, le hackathon de la fédération

L’objectif de cette rencontre durant ces quelques jours était de réfléchir ensemble à des problématiques propres aux réseaux fédérés : ces alternatives éthiques et distribuées aux médias sociaux centralisés.

Étaient présents des développeurs et des UX designers ainsi que des étudiants, tous intéressés par le principe de fédération :

  • Séba, développeur Python ;
  • Moutmout, étudiante en mathématiques (mais qui fait aussi du Python) ;
  • Agate, principale développeuse de Funkwhale (plateforme de musique fédérée) ;
  • Maiwann, UX-designeuse ;
  • tcit, développeur et adminsys chez Framasoft ;
  • Natouille, UX-designeuse ;
  • Narf, stagiaire au sein de Framasoft qui réalise un mémoire scientifique sur le principe de la fédération (surtout ActivityPub*) et un mémoire philosophique sur les formes d’organisation non centralisées;
  • Renon, également contributeur de Funkwhale ;
  • Bat, développeur de Plume (blogs fédérés) qui contribue aussi un peu sur Funkwhale ;
  • Nathanaël, hébergeur de ce séjour et aussi membre de Framasoft.

*ActivityPub est un langage utilisé par les services fédérés pour communiquer entre eux.

Petite introduction

Nous avons commencé par un petit tour de présentation, pendant lequel nous en avons profité pour faire part à tout le monde nos souhaits et les activités que l’on proposait pour ce séjour.

Vue d'ensemble de la table avec les participants autour

 

Cela a été facilité par le fait qu’un dépôt sur Framagit a été ouvert quelques semaines plus tôt, sur lequel chacun était invité à proposer des activités et repas (le séjour reposant sur le principe d’auto-gestion).

Capture d'écran de la gestion des tickets sur Framagit
Oui oui, on ouvre des tickets sur GitLab pour faire des cookies véganes et des pizzas, yolo.

 

Nous avons ainsi pu mieux les lister et définir (avec une méthode sponsorisée par 3M*).

Réflexion autour des fiches ateliers

*3M, c’est la marque des post-its (oui si on ne sait pas, on ne peut pas comprendre la référence).

On a donc rapidement plein de petites fiches d’activités, de quoi bien nous occuper pendant le séjour :

Multiples post-its

Ensuite, nous nous sommes inscrits dans chaque activité que nous souhaitions afin de les prioriser, avec des petits motifs que chacun s’est attribués.

Petite astuce donnée par les designeuses : pour retirer un post-it, il faut le faire par le coté et pas par en bas. Comme ça il collera plus longtemps, parce que la surface de collage sera moins pliée et donc davantage en contact avec le mur. 😉

Nous avons clos cette première journée par un petit cours d’astronomie à l’œil nu proposé par Moutmout.

Design et Ergonomie

Nous avons fait un fishbowl sur le thème de l’ergonomie des logiciels, notamment comment savoir si son interface est utilisable.

Personnes assises écoutant et participant au Fishbowl

Un fishbowl (ou bocal à poissons) est un processus de communication permettant d’échanger sur un sujet particulier. Au départ, nous plaçons 4 chaises au centre de la pièce et nous invitons 3 personnes maximum à s’asseoir sur celles-ci pour prendre la parole, les autres sont invités à écouter sans intervenir. Lorsqu’une personne qui s’est exprimée se rend compte qu’elle n’a plus rien à ajouter, elle libère une place et une autre personne peut s’asseoir et discuter à son tour. Si une personne en dehors du cercle veut prendre la parole, elle s’assied sur une chaise libre (il y en a toujours une, vu qu’il y a 4 chaises pour 3 orateurs max.), et invite de fait un orateur à libérer sa place. Ce fonctionnement permet d’améliorer la dynamique de la conversation et de faciliter la prise de parole pour tout le monde.

Plus tard, Maiwann nous a présenté sa conférence Designers et Logiciels libres: et si on collaborait ?, qu’elle avait faite à Mixit quelques mois plus tôt.

Conférence Maïwann à Mixit

C’est quoi la fédération ?

Agate (qui développe Funkwhale) nous a présenté la conférence qu’elle avait faite aux RMLL quelques jours plus tôt. Cela a permis à certains de comprendre ce qu’il se passe sous le capot d’un projet utilisant ActivityPub, et à d’autres, d’avoir des idées pour mieux expliquer.

Après différents échanges, un sketch-note en est ressorti :

sketchnote d'un réseau fédéré avec ActivityPub

Partant de là, nous avons réfléchi brièvement à comment expliquer la fédération à M. ou Mme Tout-le-monde.

Nous avons ensuite fait appel à la communauté, en demandant sur Mastodon comment expliquer le principe de fédération. De nombreuses suggestions ont été proposées :

Post-its fédération

Note post-fédérathon (Nathanaël) : 2 semaines plus tard, je suis revenu avec mes frères dans la même maison, les post-its étaient encore accrochés. Alors qu’ils ne connaissaient pas le principe de fédération, je leur ai fait deviné la question qu’on avait posé, sans donner plus d’indices. Sans se concerter ils se sont tous deux mis d’accord sur cette question : * »Comment se mettre d’accord quand on est différents ? »*. Je trouve que celle-ci est au final une des meilleure réponse (et ce concept de « brainstorming inversé » est assez amusant). Et c’est vrai, c’est un peu ça la fédération.

Schéma problèmes aux réseaux fédérés

Nous avons également noté que le terme instance pouvait faire un peu peur aux néophytes.

Post-its instances Nous avons donc, une fois de plus, fait appel à la communauté Mastodon pour trouver un terme équivalent. Une foule d’idées en est ressortie (certaines nous ont bien fait rire).

N’hésitez pas à piocher dans la liste pour vos prochaines explications. 😉

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Les identités nomades

Une des Fiches Activités qui a eu du succès concernait les identités nomades. Nous n’étions en fait pas tout à fait d’accord sur ce que ce terme signifiait et son intérêt principal.

C’est pourquoi nous avons fait un échange en groupe afin d’identifier les problématiques auxquelles peuvent être confronté·e·s les utilisateur·ice·s d’un système fédéré actuellement :

  • « J’ai un identifiant et mot de passe pour chaque service. »
  • « Comment interagir avec un contenu qui n’est pas sur mon instance ? »
  • « Si mon instance est hors-ligne je n’accède pas à mon compte. »
  • « Quand je déménage je ne veux pas perdre mes données. »
  • « Je veux qu’on me retrouve sur mes différents services. », également lié à :
  • « Je ne veux pas qu’on usurpe mon identité. »

Discussion sur les identités nomades

Nous avons ensuite listé les différentes solutions possibles à chaque problématique, en nous basant notamment sur celles déjà existantes sur certains projets comme Pleroma, KeyBase ou Diaspora.

Post-its identités nomades

Financement des créateurs

Comme proposé sur une autre Fiche Activité, nous avons discuté d’une plateforme pour faciliter le financement des créateurs présents sur le Fediverse. La problématique se rapproche de celle de l’identité évoquée plus haut.

Cette plateforme aurait pour but de trouver le contenu avec lequel l’utilisateur interagit (visualisation, like, écoute, …) afin de comptabiliser la somme à donner à chaque créateur, puis rediriger le donateur vers les plateformes choisies par le créateur (Tipeee, Liberapay, monnaie libre, …).

Il en est ressorti quelques schémas et illustrations représentant l’idée :

Schéma financement des créateurs

Ainsi que quelques sketch-notes…

sketchnote 1 financement

sketchnote 2 financement

Gouvernance

Nous avons réalisé un autre fishbowl, cette fois-ci sur le thème de la gouvernance au sein de la fédération : qu’elle se situe au niveau de la gestion des instances et de leur modération, ou bien au niveau du projet et de son développement.

Discussion gouvernance

Durant le fishbowl nous avons abordés de nombreux sujets.

Le fait par exemple que la manière de gérer un groupe dépend de sa taille : un état, un logiciel ou une entreprise ne peuvent pas s’organiser de la même manière. Il en serait donc de même pour les instances du Fediverse, où leur gouvernance pourrait être pensée vis à vis de leur taille.

sketchnote gouvernance

 

Nous avons également abordé des notions d’inclusivité et d’accessibilité, des différentes façon de gérer cela comme l’élaboration d’un code de conduite où la manière de modérer les instances.

Notre discussion s’est ensuite étendue à la gouvernance au sens large et comment celle-ci est gérée dans les groupes qui sont sensibles aux notions d’égalité (associations, squats, communautés, etc.). On note que même dans une volonté de gouvernance horizontale, une hiérarchie peut se mettre en place naturellement : simplement parce que bien souvent l’investissement des membres n’est pas le même, ce qui peut avoir un impact sur les décisions prises.

Tests utilisateurs

Si un jour vous vous retrouvez entre passionnés du libre, partants pour contribuer sans trop savoir comment et qu’un développeur de projet est avec vous, faites des tests utilisateurs.

Les tests utilisateurs sont à la contribution au libre ce que le houmous est aux repas en auberge espagnole : c’est simple à faire, c’est rapide, accessible à tous et surtout très efficace.

 

— Un fédérathoniste

Nous les avons expérimentés pendant le séjour sur plusieurs sessions, pour les logiciels Funkwhale et Plume par plusieurs personnes.

Première étape : on met quelqu’un devant un logiciel en lui donnant une mission (la moins guidée possible). En fonction de ce que l’on veut tester, ça peut être un utilisateur connaissant le logiciel ou ne l’ayant jamais vu. L’utilisateur commente tout ce qu’il fait et également ce qu’il ressent, les autres écoutent silencieusement.

Oui, pour une fois les utilisateurs peuvent ouvertement pester contre telle ou telle fonctionnalité qui n’est pas pratique, on peut se lâcher (bon, pas trop quand même hein, les développeurs sont aussi nos amis).

Deuxième étape : pendant ce temps, le ou les développeurs prennent plein de notes :
– les actions qu’ils n’avaient pas prévues dans la manière d’utiliser l’outil ;
– ce qui frustre l’utilisateur, ou au contraire le satisfait ;
– ce que les utilisateurs comprennent et ce qu’ils espéraient ;
– ce qui manque ;
– les bugs éventuels pouvant survenir.

Pour notre part, nous avons abattu environ l’équivalent d’un arbre en papier :

Diverses Notes Test utilisateurs

Troisième étape : un échange est fait avec les développeurs et UX-designeuses présentes ici, pour voir comment améliorer certains points. Si vous n’avez pas de star d’UX parmi vous, vous pouvez demander autour de vous (sur Mastodon par exemple).

Dernière étape : transformez ces notes en tickets* sur les dépôts des projets en question !

* Dans le développement logiciel, les tickets sont des propositions de modification du code. Cela peut être par exemple pour améliorer l’interface, signaler un bug ou suggérer des fonctionnalités.

Côté Funkwhale, près de 50 tickets ont été ouverts suite à ces tests.

Sur Plume, environ autant.

(c’est beaucoup).

Tous ces tickets sont quelque chose de très concret pour l’amélioration du logiciel, d’autant plus si c’est un des développeurs qui les ouvre : on passe d’une petite gêne remarquée dans l’utilisation en un truc noté sur la TODO-list du projet.

Du côté du futur projet Framameet (nom Framasoft d’un projet de site de partage d’événements fédéré), nous avons pu tester et prendre des notes sur les projets propriétaires concurrents, afin de mieux concevoir l’ergonomie du projet.

Initiations

 

Notes sur Rust

Certains d’entre nous ont proposé des initiations à des notions qu’ils maîtrisaient : tcit sur le langage Elixir, bat sur le langage Rust.

Plus brièvement, Docker et le déploiement ont aussi été abordés.

Ce n’était pas des cours mais plutôt un moyen de nous faire découvrir et aimer (ou pas) ces technos et se laisser le temps, plus tard, d’étudier plus profondément le sujet.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

La suite

 

Capture d'écran du botAvec le joyeux groupe que nous étions, le séjour était assez riche en blagues en tout genre… Notamment la phrase « C’est un peu ça la fédération », sortait assez régulièrement les derniers jours (en réponse à un phrase adaptée).

En revenant du séjour, Moutmout a donc mis les doigts au clavier pour coder un petit bot Mastodon C’est quoi la fédération, répondant à des pouets aléatoires.

L’élaboration de ce compte-rendu à plusieurs nous a également permis d’en garder une trace et de vous le partager.

Nous avons également ouvert un autre Framapad dédié à l’après-séjour. Sur ce dernier, chacun d’entre nous pouvait partager des remarques et suggestion, ou bien donner son avis sur ce qui était bien, ou ce qu’il faudrait améliorer pour une prochaine fois.

 

 

 

 

 

Burgers végéIl en ressort globalement que nous étions très satisfaits du séjour : notamment, les tests utilisateurs et les fishbowls en ont conquis plus d’un (mais pas autant que les burgers végé :P).

Il y a également quelques petites idées pour une prochaine fois, comme le fait d’ouvrir un framapad dédié au compte-rendu en début du séjour et de le compléter ensemble tous les jours.

On note également le fait que les ateliers plus « concrets » niveau contribution étaient moins présents que nous l’envisagions, dû au fait qu’ils se font en petits groupes, alors que nous avions tous envie de faire des choses ensemble et que les ateliers en grands groupes intéressaient tout le monde. Bref, il faut accepter qu’on ne puisse pas tout faire.

Nous essayons petit à petit de voir comment poursuivre nos discussions par des actions plus concrètes : par exemple nous sommes en train de monter un groupe de discussion ouvert concernant les identités nomades et son implémentation, en espérant que cela débouche sur des propositions de modification sur des logiciels fédérés. Les thème de la gouvernance et du financement des créateurs subiront sans doute le même sort. Si par ailleurs vous êtes intéressés par ces sujets, vous pouvez me contacter (sur Mastodon : roipoussiere(@)mastodon·tetaneutral·net ou par mail : nathanael(@)framasoft·org) pour prendre part aux groupes de discussion existants.

Ah, et on raconte que certain·e·s participant·e·s ont toujours la musique de Put a banana in your ear dans la tête. On ne sait pas pourquoi.

Ce séjour était en tout cas une expérience très enrichissante pour nous toutes et tous. Et toutes ces discussions pourraient bien un jour faire germer, dans nos petites têtes de libristes, de nouveaux projets.

 

Capture d'écran de la vidéo Charlie The Unicorn




Un jeune libriste part à l’asso des mauvaises habitudes

Neil vient de finir un stage d’étudiant au terme duquel il a réussi à faire adopter des outils libres à une association. Il livre ici le récit de ses tribulations, c’est amusant et édifiant…

On aimerait bien qu’il y en ait beaucoup comme lui pour s’engager de façon aussi déterminée et efficace. Nous espérons entamer une série d’interviews de libristes qui comme lui sont particulièrement impliqué⋅e⋅s dans la diffusion des valeurs et des pratiques libristes.


avatar de Neil, un pigeon sur la tête
Avatar de Neil, image d’après Tunaniverse

Bonjour à tous,

N’ayant encore qu’assez peu d’expérience dans le domaine du libre et s’agissant de mon premier article sur Internet, je sollicite votre bienveillance et vous invite à me signaler toute éventuelle erreur ou mauvais usage des termes dans cet article.

Contexte

Les études

Avant de commencer, un peu de background. J’ai 20 ans et je suis en première année de BTS SIO (branche SLAM), formation post-bac orientée sur l’informatique de gestion et le développement d’applications.

Au bout d’un mois dans cette filière, j’ai senti qu’elle n’était pas pour moi en constatant notamment un retard assez grave dans les notions du référentiel. Mais pour des raisons financières (bourses, appartement, etc.) j’ai dû finir mon année, ce qui implique l’obligation de trouver un stage d’un mois en juin.

Le choix de l’association

J’ai donc choisi une association que je vais appeler Ciné-Asso, qui propose des tarifs réduits pour des séances au cinéma pour les établissements scolaires et ses adhérents. Ses responsables disaient avoir besoin de retravailler leur système d’information.

C’était pour moi une chance que de pouvoir mettre mes connaissances à disposition d’une association, ce qui m’attirait bien plus que les stages choisis par mes camarades de classe (stage en banque, en dépannage/réparation informatique, au supermarché, en startup French Tech qui développe sous WinDev1. Choix judicieux que de choisir un stage WinDev en BTS SIO : WinDev fait partie des logiciels étudiés et utilisés tout comme WordPress, Microsoft Visio, Win’Design, PC Wizard 2015 et plein d’autres. (Vous comprenez pourquoi je n’aime pas cette filière ?)

Et je préférais travailler pour une asso en rapport avec l’art et la culture. Le choix était donc déjà fait.

Un peu de technique

En ce qui concerne les outils utilisés, mon ordinateur tourne sous Debian Buster (prerelease) depuis Janvier 2018. Je code exclusivement sous Vim, mon éditeur préféré. Pour le développement web, j’utilise Apache et MariaDB côté serveur (en local, donc sur mon propre poste). J’utilise souvent MySQL Workbench (la version sous licence GPL par Oracle) pour éditer la BDD, sinon en CLI. Je travaille tout le temps avec draw.io (licence Apache), un logiciel vraiment pratique pour réaliser des schémas en tous genres, des cartes mentales aux modèles relationnels. Je m’estime par ailleurs libriste et refuse, lorsque la situation le permet, de travailler avec des logiciels propriétaires. Vous allez voir que défendre ses valeurs n’est pas facile…

Tâches assignées

Principalement deux tâches me seront confiées durant ce stage d’un mois :

  • Retravailler le site web de Ciné-Asso Leur site web tournait sous une très ancienne version de Joomla ! et franchement, ce n’était pas beau à voir. Bref, un site des années 2006. Ma mission sera de développer un site vitrine pour le remplacer, avec une gestion d’évènements planifiés (de séances de films, en l’occurrence) pour l’association. Cela inclut évidemment la formation des bénévoles à l’outil ;
  • Retravailler la base de données, reconstruire la base de données utilisée pour enregistrer les adhérents et les donateurs de l’asso. La base de données actuelle a été créée il y a 10 ans sous Access 2003 (si ce n’est 98…) et elle est encore utilisée jusqu’à présent. La base n’est pas relationnelle alors qu’elle devrait l’être. Résultat : 35 champs dans une table avec les adhérents et donateurs mélangés, des doublons, des couples sur un seul enregistrement et de sérieuses limites. Je vais donc devoir créer une nouvelle base, migrer toutes les données et former les bénévoles.

Le tout, donc, en un mois, avec la contrainte personnelle de n’utiliser que des logiciels libres.

capture de la liste des entrées de la base de données ancienne
La base d’adhérents au départ…

Présentation de Ciné-Asso

Je vais donc vous présenter brièvement l’équipe de Ciné-Asso. De faux noms leur seront attribués afin de préserver leur anonymat.

M. Touron est le président de l’association. Un esprit juste et logique.

Mme Nougat est la trésorière et celle que je dois convaincre. Elle est très réticente à l’intégration de mon travail au sein de l’asso. Elle sera aussi l’une des principales utilisatrices du logiciel de gestion de base de données. J’ai donc intérêt à faire du bon travail afin de satisfaire ses attentes.

M. Réglisse s’occupe de la communication auprès des adhérents. Il utilise tout le temps l’outil informatique dans son travail, pas toujours comme il le faudrait.

Mme Caramel est une jeune bénévole qui soutient mes idées. Elle s’occupe principalement du site web.

M. Calisson est un bénévole octogénaire et maintient la base de données Access. C’est un autodidacte de l’informatique. Il racontait fièrement qu’il avait programmé en COBOL pour le gouvernement à une époque désormais révolue.

M. Prunelle est un prestataire de services extérieur à l’association et jouera un rôle crucial.

Une réunion est organisée entre deux ou trois bénévoles et moi deux fois par semaine afin de présenter l’avancée de mon travail et de m’ajuster à la demande. En dehors des réunions, je travaille en autonomie.

Un détail important à relever : aucun membre de Ciné-Asso n’est assez compétent en informatique pour s’occuper du côté technique du site après mon départ.

Le site web

J’ai consacré les 15 premiers jours à la réalisation du site web. Et parmi tous les CMS possibles, j’ai choisi… Allez, devinez… WordPress.
Vous avez le droit de jeter vos tomates pourries ; mais je n’avais aucune expérience, ni avec Drupal, ni avec Joomla! et je n’avais clairement pas le temps de tester les solutions (rappelons que j’ai seulement 15 jours pour finaliser le site, formations incluses). De plus, je connaissais déjà bien WordPress pour l’avoir utilisé par le passé. Et croyez-moi, j’ai regretté de ne pas avoir été assez curieux, car ces 15 jours mêlèrent ennuis et souffrance.

Le décor

On commence par le design. J’ai choisi la version gratuite d’un thème qui leur plaisait bien. Je leur conçois une jolie bannière d’en-tête (avec GIMP, bien évidemment). Au final, j’ai dû la refaire 16 fois dans une réunion de 4 heures pour satisfaire aux demandes de M. Touron, président. Mais passons. J’ai dû bidouiller le CSS afin de convenir à leurs attentes, au risque de tout casser à la prochaine mise à jour. En guise de solution, je leur ai demandé de tout mettre à jour, sauf le thème.
C’est sale, ça contourne le problème, mais je ne vois pas d’autre option dans le temps imparti ; de plus, les thèmes souffrent rarement d’une faille de sécurité. J’ai donc jugé le pari suffisamment sûr.
Travailler sur WordPress n’est pas jouissif. Ça me servira de leçon pour mes stages futurs.

Les plugins

Je choisis le plugin WP Theater pour programmer les séances de cinéma.
Évidemment, les fonctions les plus intéressantes sont payantes. Je me contente des fonctions de base et réussis à convenir à leurs demandes. M. Touron m’a proposé d’acheter la version payante du plugin, mais j’ai insisté en disant que n’était pas nécessaire et que pour le prix de la fonctionnalité, ça relevait plutôt de l’escroquerie.

Les deux semaines s’écoulèrent (trop) paisiblement avec quelques ajustements par-ci par-là. La formation fut terminée en une après-midi. L’intéressée, Mme Caramel, appréciait l’interface conviviale du logiciel.

Choses vues

En un mois, j’ai appris à connaître les membres de l’association : leur personnalité, leur empathie et surtout, leur usage de l’outil informatique. J’ai tout de même quelques anecdotes qui font peur.

M. Réglisse et Micro$oft Office

J’apprends que l’un des membres de l’association, M. Réglisse, utilise MS Office 2003 pour travailler sur les documents de l’asso. Malheureusement, ce logiciel de Micro$oft n’arrive plus à exporter en PDF sur son poste, pour une raison inconnue (tout autant à lui qu’à moi). Sans compter que Office 2003 ne lit pas les nouveaux formats MS Office (depuis 2007 : xlsx, docx, etc.) ni les formats libres (odt…). Et ainsi, à chaque fois que M. Réglisse souhaite lire ou éditer un fichier incompatible, il envoie ce fichier par mail à sa collègue qui le convertit en PDF (à l’aide d’Apache OpenOffice) et qui lui renvoie par mail, et ce depuis longtemps.
Il fallait quand même que je me retienne de sourire en écoutant ça.
On me demande conseil.
En bon libriste, j’explique que le logiciel est trop vieux et qu’il faut passer à LibreOffice gratuitement ou acheter le pack Office tous les 3 ans, en insistant bien sur la première option.
« Oui, mais j’ai déjà essayé, ça marche pas, y’a des bugs et c’est pas toujours compatible… » Finalement, j’ai réussi à le convaincre. Ça a changé un peu la mise en forme de ses fichiers et il ne s’est pas gêné de me faire remarquer qu’un pixel dépassait par-ci par-là, mais il devrait s’en satisfaire pour le moment.

Vive le libre !

M. Réglisse et le mailing

Dans les aventures de M. Réglisse, j’ai aussi celle où il souhaite envoyer une newsletter à tous les adhérents de l’association. Il ouvre sa base Access 2003, et demande au logiciel de lui donner tous les mails des membres de l’asso. Il ouvre Thunderbird en parallèle, crée un nouveau groupe… et ajoute tous les mails en les réécrivant un par un à la main ! On m’explique que c’était parce que certains mails peuvent avoir été entrés dans la base de données avec des erreurs (une virgule au lieu d’un point, par exemple…) et que copier coller pose alors des problèmes… Car la base de données ne détecte pas les erreurs de saisie…

Je promets à M. Réglisse que le mailing sera beaucoup plus facile avec ma solution.

La réunion à mi-chemin

Les réunions furent assez régulières avec moi au sein de l’asso, mais celle-ci fut de très loin la plus importante. Je rencontre M. Prunelle, expert en informatique, retraité. Il s’agit d’un prestataire de services extérieur à l’association, contacté par Mme Nougat dans l’idée de contrôler mon travail et de m’aiguiller. Pour la première fois, M. Calisson, mainteneur de la base de données, est présent. M. Prunelle commence donc par parler de son parcours ; il a fondé une entreprise d’informatique pendant sa jeunesse et a déjà programmé en COBOL et en assembleur, raconte-t-il avec nostalgie.

M. Prunelle joue un rôle crucial : il s’engage à maintenir mon travail à mon départ en tant que bénévole si le projet correspond à ses attentes. Il s’agit donc d’une personne avec laquelle je devrais collaborer.

Les deux premières heures

On parle beaucoup du site web. Je l’ai présenté, il était déjà globalement fini, prêt à être basculé en production. M. Prunelle approuve mon choix du CMS WordPress et raconte qu’il a de l’expérience avec. On discute des quelques bidouillages sur le CSS (peu nombreux mais hélas impératifs conformément aux demandes).
Mon code étant commenté et mes modifications légères et peu nombreuses, il les approuve et se propose même de les maintenir si ça casse après une mise à jour. Super, ça m’arrache une épine du pied !

Les deux dernières heures

J’aborde le sujet de la base de données. Il faut savoir que la trésorière, Mme Nougat, s’oppose assez fortement au fait que je travaille sur la BDD. Elle souhaite que je me consacre pleinement au site et veut plutôt confier la base à un intervenant extérieur aux frais de l’association. C’est d’ailleurs pour cela qu’elle a fait appel à M. Prunelle…

J’explique mon projet. Un intranet maison, développé from scratch, une BDD relationnelle. Le tout fait à la main. J’avais déjà préparé un schéma relationnel que je lui montre.

« Ta base m’a l’air bien, relationnelle, tout bien comme il faut, c’est du bon travail. Par contre, je ne suis pas trop d’accord avec ta solution pour l’hébergement de la base de données, Maria DB… Je connais de nom mais ce n’est pas très utilisé dans le domaine professionnel… »

Il sort son cahier. Puis son stylo. Je le remarque alors… Un stylo rose fluo, avec le fameux logo de WINDEV dessus. Gulp. Je sais ce qui m’attend.

M. Prunelle me demande alors d’aller voir sur une page cachée d’un site web sur lequel il avait récemment travaillé. Il m’épelle l’adresse, quelque chose du genre « xalex-xpert.com/xalex_expert ».
S’affiche alors une vieille interface de connexion sans TLS, et je reconnais rapidement WEBDEV, de la même boîte. Je fais la moue. J’explique alors que je ne souhaite travailler qu’avec des logiciels libres, par éthique. Un sourire en coin s’affiche sur le visage de M. Prunelle :

« Ha ha ha, moi aussi, quand j’avais ton âge, j’étais un rebelle et je votais à gauche ! Mais aujourd’hui sur le marché du travail, dans un contexte professionnel de l’industrie informatique, jamais je ne me permettrais de présenter une verrue de Linux chez un client ! »

Hein ? L’industrie professionnelle de l’informatique ? Le marché du travail ? Qui a parlé de Linux ? Une verrue ?
La rébellion gauchiste ? Ce n’est pas un #MercrediFiction ni une exagération. C’est mot pour mot ce qu’il m’a dit. Je suis resté bouche bée pendant quelques secondes avant de passer à l’offensive en défendant mes arguments.

Et là, tout de suite, la grosse condescendance. En puissance. Limite, s’il m’avait versé un coulis de caca sur la tête, ça aurait été plus respectueux.

« Non mais de toute façon voilà, c’est comme ça qu’on débute, on fait tous des erreurs, on progresse ensuite, moi j’en ai vu, c’est pas le premier, je sais comment ça se passe »

Et alors évidemment Mme Nougat s’incruste et en rajoute une couche…

« Moi je pense qu’on a la chance d’avoir un professionnel parmi nous, M. Prunelle sait ce qu’il faut faire. Quand on est jeune, on ne connaît pas le marché du travail, on ne sait pas comment bien faire les choses pour répondre aux demandes du client, c’est normal »

(Allez-y, pissez-moi dessus encore, j’aime ça.) Mais avant que je ne me fasse totalement recaler, M. Touron et Mme Caramel interviennent au moment opportun et insistent pour me laisser une chance. Ouf, c’est sauvé. Par contre, du coup, inutile de compter sur lui pour maintenir ma « verrue de Linux ». Plus qu’à me débrouiller tout seul.

Résultat, les deux solutions seront proposées au conseil d’administration et c’est le conseil qui tranchera. J’ai intérêt à bien faire le boulot.

La veille technologique, ou comment j’ai changé d’avis

Ok, j’ai donc 15 jours pour réaliser une solution convaincante à partir de rien, migrer la solution actuelle vers la mienne et enfin former les nouveaux utilisateurs… Bon, j’ai des bouts de code de prêts pour ça, je suis assez expérimenté en PHP pour me débrouiller comme un grand. Mais 15 jours…

État des lieux

Tout d’abord, le lendemain de la réunion, M. Calisson (mainteneur octogénaire de la BDD) s’est présenté à moi. Il a fait l’effort de se déplacer dans les locaux pour me proposer personnellement son aide.
Face à une telle bienveillance, je ne pouvais refuser. Il m’a donné une documentation utilisateur d’une vingtaine de pages (datant de quelques années), très détaillée, qui m’a beaucoup appris. Il a ensuite pris le temps de m’expliquer chaque détail flou de la base actuelle et décrit les attentes particulières de Mme Nougat, qui attend d’être convaincue par ma solution.

Il n’était pas obligé de faire tout ça et je lui en suis grandement reconnaissant. Avant de le rencontrer, je pensais que ça allait être un esprit conservateur qui considère que sa solution (une table, 35 champs, rappelons-le) est la meilleure de toutes… et je me suis bien trompé. Comme quoi, le code ne fait pas le développeur…

À l’aide, Mastodon !

Dans le doute, je fais appel au réseau des réseaux. Et dans la panade, je fais appel au Fediverse.

Appel à l’aide sur Mastodon…Voyez tous les conseils reçus suite à ma demande !

 

Amis, camarades, connaissances, merci à vous. Vous avez été d’un précieux soutien dans cette situation difficile, vous m’avez aiguillé quand M. Prunelle m’avait lâché. Je savais que je pouvais compter sur vous ! Et j’ai attentivement écouté vos conseils.

Alors que choisir ?

Je peux dire beaucoup de mal (à tort et à raison) de mes professeurs de BTS SIO, mais c’est l’un d’eux qui m’a conseillé Galette en premier (en l’occurrence, ce professeur revendique des valeurs libristes mais enseigne WinDev et Win’Design aux élèves, ironiquement. Il enseigne Merise aussi, en 2018. Mais passons !)

Galette est un CMS libre de gestion d’adhérents pour les associations, inscrit sur Framalibre, l’annuaire contributif où j’aurais dû chercher en premier. Le logiciel a été créé en 2004 et est toujours maintenu à l’heure actuelle via des mises à jour régulières. Il est utilisé par des dizaines d’associations et reste un choix à considérer pour un déploiement rapide et efficace.

La Fediverse m’ayant conseillé (entre autres) Galette, j’ai décidé de m’y intéresser de plus près. Je connaissais déjà Galette (de nom seulement) avant que mon professeur m’en parle, mais tout écrire de soi-même avait l’air tellement plus amusant…

Et la solution avait l’air vraiment sympa. Il m’a fallu quelques jours pour m’assurer qu’elle collait bien au cahier des charges de Mme Nougat, mais tout avait l’air d’aller comme il faut. Et comme je n’ai plus le temps, il vaut mieux choisir cette option plutôt que de partir de zéro et rendre un travail insatisfaisant ou incomplet.

Partons donc pour Galette !

Galette

Abordons un peu l’aspect technique. La formation WordPress et quelques autres tâches ayant un peu débordé sur le planning, il me reste 10 jours pour déployer la solution et former les utilisateurs.

Le cahier des charges

Je rencontre un problème. Le cahier des charges n’est pas respecté sur un point : les statistiques. L’asso a besoin de stats assez précises pour la comptabilité et Galette ne fournit que deux ou trois pauvres camemberts. Galette tournant sous PHP, je prends la décision d’écrire un plugin.

Le plugin

C’est ce qui va prendre le plus de temps. Je travaille dans un environnement avec lequel je ne suis pas familier du tout, même si c’est du PHP, car je n’ai jamais touché à des frameworks PHP ni utilisé une API conçue pour des plugins. Ma première rencontre avec Zend Framework se passe… mal. Très mal, au point où j’interroge directement la base de données avec des requêtes en dur pour faire le boulot.
J’aurais aimé apprendre comment m’en servir, mais « je n’ai pas le temps ». Bon, j’ai moins d’excuses pour le switch à 90 cases avec des requêtes SQL et les 80 lignes de HTML dans un string… Mais chut…

Blague à part, je commence à être vraiment à la bourre. Plus que quelques jours de stage déjà, et c’est fini. Je me débrouille comme je peux pour coder quelque chose qui fonctionne. Qui a parlé de maintenabilité ?
Le prochain qui passera derrière moi sera probablement un stagiaire de BTS SIO, ça lui fera les pieds 🙂 (Il va me retrouver et me tuer pour avoir écrit ça, et je ferai moins le malin quand je tomberai sur un cas similaire. Bon au moins, j’ai mis plein de commentaires)

La demande de dernière minute

J’ai présenté le plugin de stats à Mme Nougat et il a fallu s’adapter à une demande de dernière minute. Totalement justifiée cela dit, ça faciliterait grandement la comptabilité. Il s’agit encore de stats.
J’applique des quickfixes sur le code dégueulasse que j’ai pondu juste avant. Il me reste trois jours. (Comment ça, ce n’est pas une excuse ? Au moins ça fonctionne !)

Bon allez, on plie ça vite fait et on passe à l’importation, qui n’est même pas commencée !

Préparation pour la migration

Un peu plus de technique.
La base de données est sous forme de fichier. MDB (Access), format propriétaire. Elle pèse 8.5 Mo. J’ai des frissons dans le dos. J’utilise le paquet mdb-tools pour convertir la structure et les données en requêtes SQL et je crée une nouvelle DB en local (MariaDB) et j’importe le tout.
Vive le libre.

Voilà la table à 35 champs… Ma première tâche va être de séparer les entrées des couples (M. et Mme) qui ont été enregistrés en une seule entrée.
Sur le coup, LibreOffice Calc est mon ami. J’importe tous les enregistrements où Sexe=« M. et Mme » et je les sépare à coups de Chercher/Remplacer. Une fois le boulot fini, j’importe tous les autres adhérents enregistrés dans la base jusque là sur le tableur, c’est plus facile que sur Workbench. Et nous y voilà, un total de 1275 lignes.

La grande migration

Allez, c’est parti. Je saisis 1275 adhérents à la main, depuis l’interface de Galette.

Bien sûr que non. Vous croyez vraiment que j’allais faire ça manuellement ?
Je me remémore ce que disait l’un de mes professeurs de BTS SIO :

« Un développeur, c’est un branleur. Une quiche molle. Alors à un m’eng donné, il faut savoir optimiser son traitemeng ou on va se retrouver avec une KYRIELLE de travail à faire. »

Il reste 2 jours. Comptant un jour de formation et d’installation du logiciel, j’ai 24 heures pour réaliser la migration. Admettons que je prenne trois minutes par entrée (adhérent + contribution). (1275 x 3) / 60= 63h45 de travail. C’est hors limites !

La seule solution est donc d’automatiser le tout. Mais il ne s’agit pas d’un simple INSERT INTO dans une table, hélas. Galette utilise un système de champs dynamiques qui permet d’avoir des champs personnalisés par l’association. Il les gère d’ailleurs assez mal : lorsqu’on supprime un adhérent ou une contribution, les champs dynamiques associés ne se suppriment pas avec. Encore un bug à signaler, tiens. Mais passons.

Formatage des données

Je commence par ajouter un adhérent et une cotisation annuelle pour ce dernier et j’identifie dans la BDD les tables mises à jour. Il y en a trois : galette_adherents, galette_cotisations et galette_dynamic_fields.

Ensuite, ça reste quand même assez trivial. J’identifie à quoi correspondent les champs dans les tables et je prépare mes inputs selon mes besoins. Je n’oublie pas de m’adapter au logiciel. Exemple, Galette interdit les adresses mail dupliquées dans la BDD. Je supprime tous les duplicatas depuis LibreOffice avant de commencer quoi que ce soit. Puis vient le plus
pénible. Le formatage des inputs. LibreOffice est pratique pour ça, mais je préfère tellement Vim qui s’avère bien plus efficace quand on a l’habitude du logiciel.

Vérification des données

Je vérifie encore mes inputs. Les erreurs les plus courantes :
– Doubles espaces (un coup de regex et c’est fini)
– Accents dans les adresses mail
– Virgules à la place de points un peu partout
– Formatage pas toujours standardisé du numéro de téléphone… J’étale le champ adresse, unique jusque là, sur deux lignes. C’est long et pénible, un bon travail de stagiaire. Par superstition, j’enlève les guillemets placés inutilement dans les adresses physiques.
– Au passage, je découvre des adresses Yahoo, AOL, Cegetel, Alice, Wanadoo, Neuf et même quelques .gouv.*.
Ça fait un peu peur.

– Le champ galette_adherents.login_adh contient des caractères aléatoires servant d’identifiant pour l’adhérent. L’asso n’utilise pas cette fonctionnalité, mais pour ne pas contrarier Galette, je vais insérer des caractères aléatoires dedans : SUBSTRING(MD5(RAND()) FROM 1 FOR 15)
Ce n’est pas censé être un identifiant hexadécimal, mais ce n’est pas grave.

Enfin, je prends soin de distinguer les champs vides des champs NULL. On peut maudire SQL pour ça, je suppose.

Je termine la migration le 28 juin au soir, soit 24 heures avant la fin du stage. La journée de demain commencera à 09h00.

Déploiement de la solution

Ah oui, à ne pas oublier. Avant de former les utilisateurs, il faut d’abord déployer Galette sur leur réseau (en intranet). Je choisis l’utilisation de XAMPP sur l’un de leurs postes Windows.
Je configure le serveur DHCP de leur box pour que l’IP du poste en question soit fixe. Ma méthode est probablement discutable mais je ne vois pas d’autre option possible, surtout qu’héberger Galette sur le “cloud” ne leur aurait pas servi car ils ne travaillent sur la BDD qu’en local. Enfin, je déploie Galette, j’exporte la BDD depuis mon poste et je l’importe sur le leur. Je transfère aussi les fichiers de mon plugin. Évidemment, l’opération ne s’est pas déroulée sans accroc – surtout sur des postes Windows. J’ai perdu une à deux heures dans la migration.

L’imprévu fatidique

En formant l’une des deux bénévoles, on s’aperçoit ensemble que de nombreuses données de l’ancienne base sont erronées depuis quelques mois (suite à une maintenance de M. Calisson) et que ces erreurs ont été (évidemment) reportées sur la nouvelle base. Nous arrivons à une conclusion terrifiante : il faut repasser manuellement derrière chacune des 1275 adhésions à partir des bordereaux d’adhésion, conservés par précaution. Cette opération nous a coûté 4 à 5 heures. La bénévole a eu la gentillesse de m’apporter une pizza pour que je puisse finir mon travail d’esclave le plus vite possible sans sortir du bureau.

fig.1 Travailler en équipe pour résoudre un problème. La théorie.

fig.2 Travailler en équipe pour résoudre un problème. La réalité.

La formation

Vous imaginez qu’il ne me reste plus beaucoup de temps pour former les utilisateurs. La première bénévole était assez familière avec l’informatique, mais la deuxième ne l’était pas du tout – au contraire, elle détestait l’informatique. J’ai dû abréger beaucoup de points que je préciserai dans une documentation utilisateur à rédiger après mon départ. Ce fut très laborieux, mais l’essentiel a été vu. Il est 18h00, mon stage se termine et ma mission avec. Je remercie M. Touron qui m’offre une gratification de stage de 150 euros.

Le suivi

Le libre, c’est bien, mais quand il est encadré et suivi, c’est mieux. Le site web de l’association est hébergé par la Ligue de l’Enseignement, ce qui leur permet de profiter de tarifs très préférentiels. J’ai pu rencontrer l’un de leurs membres avec M. Touron dans le cadre de la migration du site de Joomla ! vers WordPress.
Ce monsieur, aux antipodes de M. Prunelle, était clairement fâché de mon choix de WordPress, en disant que les webmasters oublient souvent de mettre à jour le CMS et qu’il est généralement considéré comme une usine à gaz trouée par des failles de sécurité. Je ne peux qu’être d’accord avec lui sur ces points-là, malheureusement.
M. Touron aborde finalement la question de la gestion de la base de données (Galette, donc) et ce monsieur semble non seulement connaître le CMS, mais exprime sa satisfaction quant au choix d’un logiciel libre. Quand je lui ai dit que ce choix était par éthique, nous sommes rapidement partis dans une discussion libriste mentionnant La Quadrature du Net, l’April, Framasoft, les RMLL 2018 qui approchent à grands pas…

C’était ma première discussion avec un libriste dans la vraie vie et elle ne pouvait pas tomber à un meilleur timing. La personne idéale pour reprendre le projet était déjà trouvée, je peux dormir sur mes deux oreilles !

Ressenti personnel

Cet article est déjà beaucoup trop long, mais je tiens à exprimer mon ressenti sur ce stage. La rencontre avec M. Prunelle fut très parlante pour moi : j’ai réalisé à quel point les esprits peuvent être conservateurs dans le domaine de l’informatique.

Être libriste, c’est avant tout avoir des convictions que l’on défend au quotidien. Je ne m’attendais pas à entrer en conflit d’éthique avec qui que ce soit pendant ce stage, tout comme je ne m’attendais pas à rencontrer des personnes défendant les mêmes valeurs que moi. C’est aussi inciter les utilisateurs moins familiers vis-à-vis de l’outil informatique à découvrir les outils libres, faire face à leurs réticences dues à la peur de l’inconnu, à leur habitude d’utiliser des outils propriétaires et parfois, à leur manque de confiance en votre personne au prétexte de votre jeune âge et de votre supposé manque d’expérience.

Ce stage fut un véritable combat au nom de l’éthique et de mes propres convictions, mais il fut aussi porteur d’espoir : les libristes sont plus nombreux que je ne le pensais, et mon déplacement à mon tout premier meeting (les RMLL 2018) va probablement m’aider à mieux connaître (et sympathiser !) avec les différentes communautés et me permettre de définir plus précisément mon parcours professionnel en vue, dans l’idéal, d’un métier dans ce domaine.

Vive le libre !

@Neil@shelter.moe




Des nouvelles de notre ami Facebook – mai 2017

La revue de presse de Jonas, qui paraît quand il a le temps.

Tiens ça faisait un moment qu’on ne vous avait pas parlé de Facebook — Hein ? On en parle tout le temps ?

Oui bien sûr, mais son emprise est telle qu’on pourrait tenir une chronique quotidienne sur ce Léviathan. Dans la surabondante actualité de ce géant du Net, Jonas a prélevé trois petites choses :

1. C’est la grande forme

Quand nous nous réjouissons du rapide succès des instances de Mastodon en si peu de temps (venez sur Framapiaf, ou mieux installez votre propre instance et rejoignez le Fediverse) qui a dépassé les 600 000 utilisateurs en un mois, nous sommes bien loin de l’usage massif des réseaux sociaux propriétaires et centralisés. En ce qui concerne Facebook c’est « 1,94 milliard d’utilisateurs actifs mensuels, en hausse de 17 % par rapport au premier trimestre de 2016, avec un bénéfice net d’un peu plus de 3 milliards de dollars, en hausse de 76 pour cent par rapport à la même période l’an dernier », comme le rappelle le magazine the Verge.

 2. À la conquête de ce qui reste du monde

Facebook va toujours plus loin dans l’offre du « tout compris », il s’agit maintenant de maintenir captive la clientèle en lui proposant un service de messagerie. C’est ce que résumait le mois dernier l’article de NextInpact : la Messenger Platform 2.0 veut conquérir le monde avec ses bots. Car il ne s’agit pas d’une messagerie comme les autres : les bots doivent faire l’essentiel du travail :

Des bots de traduction aidant les réfugiés, aux bots qui répondent aux questions de santé, aux occasions de soutenir les causes et même les expériences qui aident les élèves à faire leurs devoirs, la créativité, l’ingéniosité et la vision de notre communauté de développeurs de bot ont été géniaux.
Nous pensons que Messenger va devenir le nouveau salon social du monde, où les gens peuvent sortir, partager, discuter, jouer à des jeux ou acheter des choses, tout en pouvant atteindre presque tout le monde, où qu’ils se trouvent. Nous pensons maintenant que nous combinons deux outils du passé: l’annuaire téléphonique (comme nous l’avons utilisé pour trouver des personnes) avec les Pages Jaunes (la façon dont nous avons l’habitude de trouver des entreprises). (source : le Newsroom de Facebook)

On l’a compris : l’objectif de Facebook, comme celui des autres géants du web est d’investir l’espace privé comme l’espace public, à tout instant, en effaçant le plus possible la limite déjà peu perceptible entre service rendu et commerce, sans solution de continuité. Le monde que propose Facebook à ses milliards d’utilisateurs est celui des animaux en batterie dans une ferme industrielle.

Vaches charolaises – photo par JPC24M – (CC-BY-SA-2.0)

3. L’intrusion est une vocation

Avec Facebook, c’est deux pas en avant, un pas en arrière… à chaque fois que Facebook est pris la main dans le sac pour une pratique douteuse, l’ineffable Mark Zuckerberg jure ses grands dieux, la main sur le cœur, que c’était pour la bonne cause, que toutes les précautions ont été prises, qu’aucune loi n’a été transgressée… et peu à peu nous baissons la garde et Facebook s’autorise à des pratiques de plus en plus douteuses.
Souvenez-vous, déjà en 2012, Facebook a mené une expérience qui avait déclenché la polémique sur certains de ses utilisateurs. Près de 700.000 d’entre eux ont servi de cobayes sans le savoir. Des scientifiques ont modifié les flux d’actualité des utilisateurs en bougeant le curseur du nombre de messages positifs et négatifs, pour observer les réactions sur « l’humeur » des cobayes… (source : magazine ZDNET 700 000 utilisateurs manipulés par une expérience sur la contagion émotionnelle).

Aujourd’hui, ces pratiques douteuses semblent n’avoir pas changé. En effet, le journal The Australian révèle que Facebook a mené des recherches pour cibler les adolescents émotionnellement vulnérables et insécurisés de manière à faciliter les pratiques publicitaires prédatrices.

En surveillant les messages, les commentaires et les interactions sur le site, Facebook peut savoir quand les personnes âgées de 14 ans se sentent « vaincues », « submergées », « stressées », « anxieuses », « nerveuses », « stupide », « idiot », « inutile » et « échec ».Ces informations recueillies au moyen d’un système sur l’analyse du sentiment pourraient être utilisées par les annonceurs pour cibler les jeunes utilisateurs de Facebook lorsqu’ils sont potentiellement plus vulnérables.

Dessin réalisé par l’artiste Pawel Kuczynski (son site Web)

La politique d’utilisation des données de Facebook nous avertit que l’entreprise « peut utiliser les informations que nous recevons à propos de vous… pour les opérations internes, y compris le dépannage, l’analyse des données, les tests, la recherche et l’amélioration des services ».
Les informations telles que votre statut « relationnel », votre emplacement, votre âge, votre nombre d’amis et à la manière dont vous accédez au site sont vendus aux annonceurs.

Encore une fois, Facebook a rapidement présenté des excuses et a déclaré à l’Australian :

une enquête sera menée sur la question, nous admettons qu’il était inapproprié de cibler les jeunes enfants de cette manière.

— des excuses… jusqu’à la prochaine fois ?

Allez hop, on vous rappelle avec ce bon vieux Richard Stallman que…

Facebook n’est pas votre ami, c’est un système de surveillance (source)

 

Pour aller plus loin

Pour fuir Facebook et trouver une alternative libre et décentralisée, vous avez le réseau social Diaspora*, dont nous proposons une instance nommée Framasphère* !




Mastodon, le réseau social libre qui est en train de bousculer twitter

Une alternative à Twitter, libre et décentralisée, est en train de connaître un succès aussi spontané que jubilatoire…

Depuis que Twitter a changé la manière dont les réponses et conversations s’affichent, des utilisatrices et utilisateurs abondent par milliers sur cet autre réseau. Chacun·e cherche un endroit (une « instance ») où s’inscrire, surtout depuis que l’instance originelle, celle du développeur Eugen Rochko, n’accepte plus les inscriptions car le serveur est surchargé.

Alors avant que de vous annoncer des solutions dans les semaines (jours ?) qui arrivent, parce qu’elles prennent le temps de se mettre en place (mais disons qu’une bande de CHATONS est sur le coup), nous avions envie de vous présenter ce phénomène, ce réseau social et ce logiciel qu’est Mastodon.

Or Alda (qui fait du php, du JavaScript, et essaie d’être une humaine décente), a déjà brillamment présenté cette alternative à Twitter sur son blog, placé sous licence CC-BY-ND. Nous reproduisons donc ici son article à l’identique en la remerciant grandement de son travail ainsi partagé !

Join the Federation par B! Cavello

Welcome to Mastodon

Depuis quelques jours, Mastodon reçoit entre 50 et 100 inscrit⋅es par heure et on peut voir sur twitter quelques messages enthousiastes incitant plus de monde à migrer sur cette alternative « Libre et Décentralisée »

C’est quoi ce truc ?

Mastodon est un logiciel accessible par un navigateur et des applications iOS ou Android qui vise, par ses fonctions de base, le même public que Twitter.

L’interface est très similaire à celle de Tweetdeck, on suit des comptes, des comptes nous suivent, on a une timeline, des mentions, des hashtags, on peut mettre un message dans nos favoris et/ou le partager tel quel à nos abonné⋅e⋅s. Bref, tout pareil. Même les comptes protégés et les DMs sont là (à l’heure actuelle il ne manque que les listes et la recherche par mots clés).

Il y a quelques fonctionnalités supplémentaires que je détaillerai par la suite mais la différence de taille réside dans ce « Libre et Décentralisé » que tout le monde répète à l’envi et qui peut rendre les choses confuses quand on ne voit pas de quoi il s’agit.

Le Fediverse : Un réseau décentralisé

Mastodon est donc un logiciel. Au contraire de Twitter qui est un service. Personne ne peut installer le site Twitter sur son ordinateur et permettre à des gens de s’inscrire et d’échanger ailleurs que sur twitter.com. Par contre toutes celles qui ont les connaissances nécessaires peuvent télécharger Mastodon, l’installer quelque part et le rendre accessible à d’autres.

C’est ce qui se passe déjà avec les sites suivants :

  • mastodon.social
  • icosahedron.website
  • mastodon.xyz

Ces trois exemples sont des sites différents (on les appelle des « instances ») à partir desquels il est possible de rejoindre le réseau social appelé « Fediverse » (mais comme c’est pas très joli on va dire qu’on « est sur Mastodon » hein ?)

C’est là que se trouve toute la beauté du truc : les personnes inscrites sur n’importe laquelle de ces instances peut discuter avec les personnes inscrites sur les deux autres de manière transparente. Et tout le monde est libre d’en créer de nouvelles et de les connecter ou non avec les autres.

Pour résumer, on s’inscrit sur une instance de Mastodon, cette instance est dans un réseau appelé le Fediverse et les gens qui sont dans le Fediverse peuvent échanger entre eux.

Comme personne ne peut contrôler l’ensemble du réseau puisqu’il n’y a pas d’instance centrale, on dit que c’est un réseau décentralisé. Et quand une instance se connecte aux autres instances on dit qu’elle « fédère » avec les autres.

Si cette histoire d’instance est encore trop nébuleuse, imaginez un email. Vous êtes Alice et votre fournisseur de mail est Wanadoo. Votre adresse mail est donc alice@wanadoo.fr. Vous avez un ami nommé Bob qui est chez Aol et son adresse mail est bob@aol.com. Alors que vos fournisseurs respectifs sont différents, ils peuvent communiquer et vous pouvez ainsi envoyer des messages à Bob avec votre adresse mail de Wanadoo. Mastodon fonctionne selon le même principe, avec les instances dans le rôle du fournisseur.

Pourquoi c’est mieux que Twitter ?

Maintenant qu’on a évacué la partie un peu inhabituelle et pas forcément simple à comprendre, on peut attaquer les fonctionnalités de Mastodon qui donnent bien envie par rapport à Twitter.

La base

En premier lieu jetons un œil à l’interface :

interface de mastodon

 

Si on utilise Tweetdeck on n’est pas trop dépaysé puisque l’interface s’en inspire fortement. La première colonne est la zone de composition, c’est ici qu’on écrit nos Pouets (c’est le nom Mastodonien des Tweets), qu’on décide où les poster et qu’on y ajoute des images.

La seconde colonne c’est « la timeline », ici s’affichent les pouets des personnes qu’on suit.

La troisième colonne c’est les notifications qui contiennent les mentions, les boosts (sur Twitter on dit RT) et les favoris qu’on reçoit.

La quatrième colonne a un contenu variable selon le contexte et les deux premières possibilités méritent leur explication :

  • Local timeline : Ce mode affiche tous les pouets publics de l’instance sur laquelle on se trouve, même des gens qu’on ne suit pas.
  • Federated timeline : Ce mode affiche tous les pouets publics de toutes les instances fédérées avec celle sur laquelle on se trouve. Ce n’est pas forcément tous les pouets publics du Fediverse, mais ça s’en approche.

Pour suivre et être suivi, le fonctionnement est identique à celui de Twitter : On affiche un profil en cliquant sur son nom et on peut le suivre. Si le profil est « protégé » il faut que son ou sa propriétaire valide la demande.

Enfin, un pouet peut faire jusqu’à 500 caractères de long au lieu des 140 de Twitter.

La confidentialité des pouets

Contrairement à Twitter où les comptes publics font des tweets publics et les comptes protégés font des tweets protégés, Mastodon permet à chacun de décider qui pourra voir un pouet.

 

Le premier niveau est public, tout le monde peut voir le pouet et il s’affichera également dans les parties « Local Timeline » et « Federated Timeline » de la quatrième colonne.

Le niveau deux est unlisted, c’est comme un pouet public mais il ne s’affichera ni dans la timeline Locale ni dans la timeline Federated.

Le niveau trois est private, c’est-à-dire visible uniquement par les gens qui nous suivent. C’est le niveau équivalent à celui des tweets envoyés par des comptes protégés sur Twitter.

Le niveau quatre est direct, les pouets ne seront visibles que par les personnes mentionnées à l’intérieur. Ça correspond aux DMs de Twitter sauf que les pouets sont directement intégrés dans la timeline au lieu d’être séparés des autres pouets.

Bien sûr, il est possible de changer le niveau individuel d’un pouet avant de l’envoyer.

Avoir un compte protégé sur Mastodon

Comme sur Twitter, il est possible de protéger son compte, c’est-à-dire de valider les gens qui s’abonnent. Cependant, on peut toujours définir certains de nos pouets comme étant publics.

Plus besoin d’avoir deux comptes pour poueter en privé !

Une gestion native du Content Warning et des images NSFW

Une pratique courante sur Twitter est de préciser en début de tweet les éventuels trigger warning (avertissements) qui y sont associés, mais le reste du tweet reste visible.

Mastodon généralise le concept en permettant de saisir une partie visible et une partie masquée à nos pouets. On peut ainsi y mettre des messages potentiellement trigger, nsfw, spoilers ou autres.

De même quand on poste une image, on peut la déclarer comme étant NSFW, ce qui nécessite de cliquer dessus pour l’afficher :

Ok, vendu, du coup comment ça se passe ?

Tout d’abord il faut choisir sur quelle instance s’inscrire puisque, ayant des propriétaires différents, il est possible qu’elles aient des règles différentes dont il convient de prendre connaissance avant de la rejoindre.

L’existence de la « Local Timeline » est intéressante à ce niveau puisque son contenu diffère forcément selon l’endroit où on est inscrit. Par exemple si on va sur une instance à tendance germanophone, il est à peu près sûr que la plupart de ce qu’on y trouvera sera en allemand.

Ça ouvre tout un tas de possibilité comme la constitution d’instances orientées en fonction d’un fandom, d’intérêts politiques et/ou associatifs.

Par exemple, l’instance awoo.space est volontairement isolée du reste du Fediverse (elle ne communique qu’avec l’instance mastodon.social) et la modération se fait dans le sens d’un fort respect des limites personnelles de chacun⋅e.

On peut trouver une liste d’instances connues sur le dépôt de Mastodon et à l’exception d’awoo.space il est possible de parler au reste du Fediverse depuis n’importe laquelle figurant sur cette liste, il n’y a donc pas de forte obligation d’aller sur la même instance que nos potes puisqu’on pourra leur parler de toute façon.

Une fois inscrit⋅e, on aura un identifiant qui ressemble un peu à une adresse mail et qui servira à nous reconnaître sur le Fediverse. Cet identifiant dépend du pseudo choisi et du nom de l’instance. Ainsi, je suis Alda sur l’instance witches.town, mon identifiant est donc Alda@witches.town.

Pour trouver des gens à suivre, on peut se présenter sur le tag #introduction (avec ou sans s) et suivre un peu la Federated Timeline. On peut aussi demander leur identifiant à nos potes et le saisir dans la barre de recherche de la première colonne.

 

Et voilà, il n’y a plus qu’à nous rejoindre par exemple sur :

Ou à créer votre propre instance pour agrandir le Fediverse !

Évitez par contre de rejoindre l’instance mastodon.social. Elle est assez saturée et l’intérêt de la décentralisation réside quand même dans le fait de ne pas regrouper tout le monde au même endroit. Mais si vous connaissez des gens qui y sont, vous pourrez les suivre depuis une autre instance.

Point Bonus

Des applis mobiles

Pour faire pouet avec Android : Installe Tusky

Pour faire pouet avec iOS : Installe Amaroq

Retrouver ses potes de Twitter

Le développeur principal de Mastodon a aussi fait une application pour retrouver ses potes de Twitter. Il faut se rendre sur Mastodon Bridge, se connecter avec Mastodon et Twitter et le site affichera ensuite les comptes correspondants qu’il aura trouvés.