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




Les fourberies du Dark UX

L’expérience utilisateur (abrégée en UX pour les professionnels anglophones) est une notion difficile à définir de façon consensuelle, mais qui vise essentiellement à rendre agréable à l’internaute son parcours sur le Web dans un objectif le plus souvent commercial, ce qui explique l’intérêt particulier que lui vouent les entreprises qui affichent une vitrine numérique sur le Web.

Sans surprise, il s’agit de monétiser l’attention et les clics des utilisateurs. L’article ci-dessous que Framalang a traduit pour vous évoque les Dark UX, c’est-à-dire les techniques insidieuses pour manipuler les utilisateurs et utilisatrices. Il s’agit moins alors de procurer une expérience agréable que d’inciter par toutes sortes de moyens à une série d’actions qui en fin de compte vont conduire au profit des entreprises, aux dépens des internautes.

Comment les artifices trompeurs du Dark UX visent les plus vulnérables

article original How Dark UX Patterns Target The Most Vulnerable

par Ben Bate, Product Designer

Traduction Framalang : jums, maryna, goofy, sonj, wyatt, bullcheat + 1 anonyme

Les pièges du Dark UX permettent aux entreprises d’optimiser leurs profits, mais au détriment des plus vulnérables, et en dégradant le Web pour tout le monde.

Il faut voir l’expérience utilisateur basée sur ces astuces comme un moyen d’orienter les utilisateurs et utilisatrices vers un certain comportement. Leurs actions ainsi prédéfinies servent les intérêts des entreprises à la manœuvre, et les utilisateurs en sont pour leurs frais d’une manière ou d’une autre. Quelquefois sur le plan financier, d’autres fois au prix des données personnelles ou même au détriment de leurs droits.

Les astuces les plus connues incluent de la publicité déguisée, un ajout insidieux de nouveaux objets dans le panier de l’utilisateur, une annulation de souscription particulièrement difficile, ou encore une incitation à dévoiler des informations personnelles que les utilisateurs n’avaient pas l’intention de dévoiler. La liste s’allonge de jour en jour et devient un problème de plus en plus préoccupant.

À l’instar des mastodontes du Web tel qu’Amazon et Facebook, la concurrence suit. Faisant peu à peu passer ces astuces dans la norme. Il existe une différence entre marketing bien conçu et tromperie. Ces pratiques s’inscrivent dans cette dernière, et se concentrent uniquement sur l’exploitation des utilisateurs et utilisatrices par des moyens peu respectables.

Pour bien mesurer l’étendue de l’application de ces techniques, en voici quelques exemples.
Tout d’abord, Amazon. Voici l’exemple d’un rendu d’affichage pour tous les utilisateurs qui ne sont pas des membres premium (Amazon Prime). La première incitation au clic est frontale en plein milieu de l’écran. Alors que l’on pourrait s’attendre à un bouton « Suivant » ou « Continuer », ce bouton débite directement 7,99 £ de votre carte bleue. L’option pour continuer sans être débité est située à côté du bouton. Elle est présentée sous la forme d’un simple lien hypertexte peu visible au premier coup d’œil, celui se confondant avec le reste de la page.

Pour les moins avertis, comme les personnes âgées, les personnes peu habituées à la langue, ou celles qui souffrent d’un handicap, ce type de pratiques peut provoquer beaucoup de perplexité et de confusion.

Même pour un concepteur habitué à ce genre de pratiques, il est extrêmement facile de tomber dans le panneau. Sans parler des désagréments que cela entraîne et qui peuvent rompre la confiance établie entre l’entreprise et le consommateur.

Dans un monde idéal, Amazon tirerait avantage d’un format simple à lire avec un appel à l’action élémentaire qui permettrait aux utilisateurs de passer outre et continuer. Mais en réalité, les détails sont cachés en tout petits caractères, trop petits à lire pour un peu plus de 5 % de la population mondiale. Les informations sont présentées dans un format bizarrement structuré avec un mélange perturbant de textes en gras de divers poids, de couleurs différentes et une telle quantité de texte qu’on est dissuadé de tout lire.
Tant que de telles pratiques seront légales et ne cesseront de connaître un taux de conversion élevé, les entreprises continueront à les employer.

Pendant qu’Amazon s’attaque aux portefeuilles des consommateurs les plus fragiles, Facebook préfère se concentrer sur ses utilisateurs en leur faisant partager un maximum d’informations les concernant, même si ceux et celles qui partagent le font à leur insu. Même si Facebook a fait des progrès sur les questions de confidentialité par rapport à des versions précédentes, l’entreprise continue d’utiliser des techniques de conception subtiles mais insidieuses et déroutantes, comme on peut le voir dans l’exemple ci-dessous.
On a beau passer en revue chaque paramètre de confidentialité et sélectionner « Seulement moi », les sections qui contiennent des informations très personnelles et détaillées sont toujours partagées publiquement par défaut. Il ne s’agit pas seulement d’un problème de confidentialité, mais aussi de sécurité. La facilité avec laquelle les pirates peuvent ensuite obtenir des informations pour répondre à des questions de sécurité est stupéfiante. La liste déroulante est subtile et ne demande pas autant d’attention que l’appel à l’action principale. Des fenêtres modales utilisent des mini-instructions pour tromper les utilisateurs. Voyez par exemple :

À première vue, rien ne semble trop bizarre, mais en y regardant de plus près, il devient clair que Facebook incite fortement ses utilisateurs à partager leur bio sur le Fil d’Actualités. Pour cela, il est suggéré qu’en cliquant sur Cancel (Annuler), vous annulez les modifications que vous avez faites à votre bio. En réalité, Cancel signifie Non. Là encore, c’est un genre de pratique qui peut induire en erreur même les personnes les plus vigilantes sur leur confidentialité. Pour les autres cela démontre jusqu’où Facebook est prêt à aller pour que les utilisateurs partagent et interagissent toujours plus. Menant ainsi à des profits publicitaires de plus en plus conséquents.

Dans l’industrie des produits et de la conception de sites Web, l’esthétique, les techniques de vente et les profits passent souvent bien avant l’accessibilité et le bien-être des utilisateurs. Shopify, LinkedIn, Instagram, CloudFlare, et GoDaddy sont seulement quelques noms parmi ceux qui ont de telles pratiques pour avoir un impact sur leur profit.
Ça peut être simplement de faire un lien de désabonnement de mail écrit en tout petits caractères. Ou de rendre impossible la fermeture de votre compte. Ou quelque chose de plus subtil encore, comme de vous obliger à donner votre identité et votre adresse complète avant de fournir une estimation des frais d’expédition d’un achat. Mais ce sont bien de telles pratiques trompeuses pour l’expérience utilisateur qui dégradent de façon sévère l’accessibilité et l’utilisabilité du Web.

Pour la plupart d’entre nous, c’est simplement une nuisance. Pour les personnes les moins averties, cela peut rendre les sites presque impossibles à utiliser ou à comprendre. Il se peut qu’elles ne puissent pas trouver ce lien de désabonnement caché. Il se peut qu’elles ne remarquent pas que quelque chose a été ajouté à leur panier au moment de passer à la caisse. Et elles peuvent être plongées dans la plus totale confusion entre les paramètres de confidentialité, les publicités déguisées et les spams d’apparence amicale.

Le Web est devenu un endroit où vous devez être extrêmement conscient et informé dans des domaines comme la sécurité, la vie privée et les trucs et tromperies, même venant des grandes entreprises les plus réputées au monde. Ce n’est tout simplement pas possible pour tout le monde. Et ici on parle de tromperies, on n’aborde même pas les questions bien plus vastes d’accessibilité comme la lisibilité et les choix de couleurs.

Les concepteurs et les équipes doivent être conscients de leur responsabilité non seulement envers les clients, les employeurs et les actionnaires, mais aussi envers les utilisateurs au quotidien. Les problèmes d’accessibilité et les astuces trompeuses impactent le plus durement les plus vulnérables, et il en va de la responsabilité de chacun au sein des équipes de produits et de marketing de veiller à ce qu’il existe des garde-fous.

Tant que de meilleures réglementations et lois ne seront pas mises en place pour nous en protéger, il est du devoir des équipes de concevoir des pages de façon responsable et de maintenir un équilibre entre le désir de maximiser le profit et la nécessité de fournir une accessibilité optimale à tous ceux et celles qui utilisent le Web.

* * *

D’autres lectures en anglais sur le même sujet

… et cet autre article en français, repéré par Khrys dans son Expresso :




Écriture du blog : nous ne transigerons pas sur les libertés.

Attention, cet article va parler d’un sujet qui a été tellement polarisé qu’il transforme de nombreuses personnes en troll·e·s : l’écriture inclusive. Mais en fait on ne va pas du tout parler de ça. On va parler de Liberté et de libertés, tiens !

À noter : cet article bénéficie désormais d’une version audio.
Merci à Sualtam, auteur de lectureaudio.fr pour cette contribution active.

Premièrement : vous avez raison

On va mettre tout le monde d’accord d’un coup (quitte à vous mettre d’accord pour nous taper dessus)… quoi que vous pensiez sur l’écriture inclusive : vous avez raison.

Vous pensez que cela va changer les esprits et permettre de réduire les inégalités ? Vous avez raison. Vous pensez que c’est inefficace et inutile ? Vous avez raison.

Vous pensez que c’est une mode ? Vous avez raison. Vous pensez que c’est une évolution ? Vous avez raison.

Vous pensez que c’est un juste contrepoids à une masculinisation de notre langue par l’académie française lors de sa création au XVIIe siècle ? Vous avez raison. Vous pensez que l’académie française actuelle l’ayant officiellement comparée à un péril mortel, il ne faut pas l’utiliser ? Vous avez raison.

Vous vous en foutez royalement, tyranniquement ou démocratiquement…?

Vous. Avez. Raison.

Vous avez raison parce que vous avez vos raisons (ou même vos absences de raisons, pour les personnes qui s’en cognent). Vos opinions sur l’écriture inclusive peuvent être étayées par des faits, des autorités, des réflexions et de fait vous semblent parfaitement valides, mais elles restent cela : des opinions (ou absences d’opinions, n’oublions pas le droit de s’en foutre).

Car nos manières de pratiquer une langue vivante restent des choix : personnels, collectifs, politiques, poétiques… Mais des choix subjectifs. Ou des absences de choix, parce que saperlipopette, on a aussi le droit de se laisser porter !

L’informatique est-elle poétique ?
Vous avez une heure.
“School for Poetic Computation” par Roͬͬ͠͠͡͠͠͠͠͠͠͠͠sͬͬ͠͠͠͠͠͠͠͠͠aͬͬ͠͠͠͠͠͠͠ Menkman sous licence
CC BY 2.0

Deuxièmement : nous aussi

Chez Framasoft, cela fait plus de trois ans que ce choix est fait.

Le 27 février 2015, on pouvait lire dans cet article du Framablog :

On le sait, les libristes s’ennuient durant les week-end, tant ils croulent sous le temps libre, tant elles n’ont rien d’autre à faire que jouer à SuperTuxKart.

Quelques jours avant, c’est le mot « les rêveureuses » qui s’y affiche , quand on n’y parle pas carrément des « barbu-e-s » (déc. 2015) afin de désigner les informaticiennes et informaticiens libristes (pour tirer la langue à cette expression communautaire excluant, de fait, les visages glabres).

Quant à notre newsletter, suivie par plus de 95 000 inscrit·e·s, c’est pas mieux : dès 2015 les « ils et elles » y fleurissent, on y évoque « nos salarié-e-s » en 2016, ou on y imagine carrément les « chef-fe-s » du petit village libriste !

En fait, nos usages et manières ont progressé au fil de nos réflexions, et ce n’est que le 22 février 2017 que, suite à de rares commentaires ici ou là, notre comité communication décide d’ajouter cette réponse dans notre foire aux questions, afin de répondre par avance à toute interrogation, et d’expliquer pourquoi nous laissons des graphies novatrices s’exprimer dans nos communications.

Votre Contributopia est-elle riche de diversités ?
Vous avez deux heures.
Le monde des services de Contributopia, CC-By David Revoy

Troisièmement : ça pique un peu au début…

Alors oui, on le sait, lire de tels bidouillages de la langue française, ça perturbe. Nous le savons parce que nous aussi nous l’avons vécu. On est là, installé·e·s pépères dans une utilisation d’une langue que l’on s’est fait ch#£§ à apprendre durant de longues années, quand soudain des graphies nous rappellent que mémère existe aussi. Sans compter que, derrière tout cela, y’a une question -presque une accusation- qui vient se chuchoter dans nos pensées…

Aurais-je été sexiste tout ce temps, sans le savoir, juste en faisant des phrases…?

Alors là, c’est non : notre esprit se défend et sort les griffes… C’est normal, hein : il fait son boulot d’esprit. La neuro-biologie nous apprend que, lorsque nous sommes confronté·e·s à quelque chose qui remet en questions nos croyances les plus profondes, notre cerveau réagit comme si nous étions physiquement agressé·e·s.

Or les croyances « je ne suis pas sexiste » ou « je sais comment s’écrit le bon Français » sont souvent chères à nos esprits : elles sont identitaires. Nos esprits se défendent donc avec de multiples objections bien connues : « c’est moche », « c’est illisible », « c’est pas français », « c’est la novlangue de la pensée unique », « c’est excluant », etc. C’est un mécanisme de défense que les libristes connaissent bien. Qui n’a jamais entendu un « Je n’ai rien à cacher » après avoir remis en question la croyance « mes pratiques numériques sont saines »…?

Chez Framasoft, nombre de nos membres ont vécu ces objections : nous les connaissons intimement. Nous en avons discuté, débattu, argumenté (la question de l’accessibilité, par exemple, mérite que l’on se penche dessus, donc nous l’avons fait). Nous en avons déterminé qu’il ne s’agissait pas de nous, mais de Liberté.

Est-ce qu’une égoïste, c’est quelqu’une qui ne pense pas à moi ?
Vous avez trois heures.
“estupid ego” par !unite sous licence CC BY 2.0

Quatrièmement : …mais après ça passe

Parce qu’en fait, si on parvient à mettre en sourdine le « scrogneugneu, mais c’est pas comme ça que ça s’écrit » qui crie très fort en nous… eh bien on s’habitue ! Ne sous-estimons pas nos cerveaux : ils ont une capacité de résilience qui peut nous surprendre nous-mêmes…

D’expérience (et qui vaut ce qu’elle vaut, hein, z’avez le droit de ne pas être d’accord), on peut très vite s’habituer, ne plus trébucher mentalement sur des nouveautés linguistiques. De nos jours, écrire ou dire que « c’est relou », ne choque plus les esprits (sauf dans un contexte où on doit parler soutenu), mais à une époque pas si lointaine, lorsque l’on craignait les « loubards » en blousons noirs, le verlan était socialement choquant…

Car la seule chose qui nous empêche de nous habituer à des graphies novatrices : c’est nous.

C’est quand on ne veut pas, qu’on en a pas envie. Et pourquoi pas : vous avez le droit de refuser de voir votre langue, un outil profondément lié à nos identités, écrite de manière X ou Y. Vous pouvez ne pas en avoir envie…

Comme nous, dans notre association, nous pouvons avoir envie d’user de points médians (ou de smileys :p… ). Car, dans un cas comme dans l’autre, nous faisons un choix personnel, nous usons de notre Liberté.

Doit-on détester les emoji quand on ne supporte pas le point médian ?
Vous avez quatre heures.

Cinquièmement : pourquoi maintenant ?

Au-delà de ce débat qui, pour nous, se résume en une phrase (nous ne transigerons pas sur les libertés), il y a une question à se poser. Depuis plus de trois ans que nous expérimentons avec la langue (tout en faisant des efforts typographiques, orthographiques, et grammaticaux que personne ne vient saluer, snif !), les remarques et commentaires trollesques ne pleuvent que depuis environ neuf mois.

En novembre 2017, il y a eu un débat soulevé dans les médias de masse. Depuis, nous voyons quotidiennement combien il n’est plus possible de discuter paisiblement.

C’est comme s’il y avait une guerre, qu’il fallait choisir son camp, et pis si t’es pas avec nous t’es contre nous… La question s’est polarisée au point de caricaturer les pires personnages de jeux de baston :

HystéroFémiNazie VS FachoMascuMacho,
Round 1,
FIGHT !

Vous trouvez pas qu’on s’est un peu fait embourber nos esprits dans une ambiance de merde…? Combien de personnes, aujourd’hui, revendiquent le droit d’en avoir rien à foutre du point médian, de s’en cogner de la double flexion, et de n’avoir aucun avis sur la règle de proximité ? Qui pense encore, dans ce débat, au fait que dire « chacun et chacune » (la double flexion, donc) est tout autant une marque du langage inclusif que « chacun·e »…?

Mais surtout : où étaient nos critiques littéraires ces trois dernières années ? Que faisaient ces personnes, et pourquoi ne veillaient-elles pas à notre salut linguistique auparavant ? Il peut être bon de se demander, chacun et chacune (tiens !) en son for intérieur, pourquoi est-ce que l’on a commencé à avoir un avis sur la question (en novembre dernier)… plutôt que de bidouiller avec, juste pour voir comment ça fait, pour voir ce que ça change.

 

Est-ce qu’on n’aurait pas un peu le syndrome du grand méchant monde ?
Vous avez plus le temps, allez directement lire la réponse de Hacking Social.

Finalement : la liberté n’est pas négociable

Chez Framasoft, nous sommes attentifves : croyez-le ou non, mais nous veillons à rester intelligibles. Si nous publions un texte de telle ou telle manière, c’est que nous avons estimé, collégialement et dans notre entière subjectivité, qu’il est intelligible.

Intelligible ne signifie pas confortable, hein. Utiliser les dissonances cognitives que provoquent les expressions inhabituelles peut être un outil pour communiquer ce que l’on souhaite transmettre. C’est un choix dans la méthode, qui peut sembler approprié à l’auteur·rice d’un texte, et aux personnes qui relisent.

La Liberté, chez Framasoft, c’est pas négociable. Nous en avons parlé lors de notre dernière assemblée générale : nous faire aimer/apprécier/bien voir, vouloir séduire/éduquer/convertir les gens à la cause du libre, cela ne se fera pas à tout prix. Ce serait chercher une universalité quasi-impossible, et qui (à nos yeux) mène sur le chemin du plus petit dénominateur commun, celui des idiocraties googlesques qui nous rebutent. Bref, on va pas se renier, pas au prix de nos libertés ni de nos convictions.

Et les libertés des personnes qui, volontairement, refusent de supporter le langage épicène, les pauvres …?

Nous avons fait en sorte que vous ayez le droit de reprendre nos publications (sous licence CC-By-SA, sauf mention contraire) et les traduire en langage traditionaliste (comme d’autres les traduisent en italien, en anglais, et merci !). Nous avons fait en sorte de n’obliger aucun·e membre, aucune personne qui contribue à nos actions, à utiliser telles ou telles règles (d’ailleurs, nombre de nos textes sont aussi en langage traditionnel, et c’est OK pour nous).

Nous savons les internets assez grands pour que chacun·e (tiens !) puisse y trouver son bonheur… Sans forcément aller faire les gros n’yeux aux autres parce que « ielles ne font pas comme il faut, c’est à dire comme moi je veux ! ». On peut même renvoyer les ronchonchons aux conditions générales d’utilisations de nos services (dont le blog, la newsletter, etc. font partie), clause « si ça vous va pas, vous êtes libres d’aller voir ailleurs » (allez lire, ça prend 3mn et c’est bel et bien écrit dedans).

Extrait de ce que, entre nous, nous avons appelé « le post Framasphère du Démon », tant il a atteint des sommets trollesques.
Ceci n’est qu’un exemple. Un seul.

Offrons-nous la paix

C’est un peu violent, comme conclusion, non…? Il faut dire que le cumul des remarques trollesques et de mauvaise foi que nous essuyons depuis des mois est franchement frustrant, et cette accumulation, nous la vivons comme une violence… Il est temps de briser ce cercle vicieux.

Là où nous sommes d’accord avec nos détracteurices (soyons fous… et folles : hop, un mot-valise !), c’est que les questions de genre et de linguistique ne sont pas le but premier de Framasoft… Alors pourquoi venir les commenter ? Pourquoi détourner l’attention de ce que nous faisons en faisant remarquer quelques pauvres signes de ponctuation…?

Ne pourrait-on pas vivre, et laisser vivre…?

Peut-on passer à autre chose…?

Nous l’espérons, et vous faisons confiance.




Fournisseurs d’emails, arrêtez de faire de la merde ! (#PasMonCaca)

Cet article fait écho à mon précédent article sur le pouvoir de nuisance des silos de mail.

Dans cet article, je pestais contre le pouvoir ahurissant que confère une grosse base d’utilisateurs à certains fournisseurs de mail (Gmail, Yahoo, etc).

En effet, il est quasiment impensable pour quiconque envoie des mails de passer outre leurs façons de faire, sous peine de se couper d’une grande partie des internautes.

Quand bien même on se conforme à leurs desiderata, quand bien même on met en place toutes les bonnes pratiques existantes, certains fournisseurs de mail ne font pas leur travail correctement…

Nota Bene : Framasoft n’est pas la seule structure à rencontrer les problèmes décrits ci-dessous. Des universités aux entreprises en passant par les google groups, on trouve des témoignages un peu partout sur le Web de mails qui n’arrivent pas à destination, et les administrateurs systèmes échangent souvent entre eux pour savoir si ça vient d’eux ou du serveur d’en face (vous aurez déjà deviné, d’après le titre de cet article, d’où vient généralement le problème).

“Postman.” par Alexander, William (1767-1816) licence CC0 1.0

Florilège

À tout seigneur, tout honneur, commençons par laposte.net.

laposte.net

La Poste avait tout pour fournir un service de mail propre et performant : son histoire dans les communications remonte à loin (on peut faire remonter sa généalogie au XVe siècle avec la première poste d’État de Louis XI) et si nous avons tous eu une lettre ou un colis qui s’est perdu dans les méandres des centres de tri, force est de constater que ça fonctionnait quand même très bien. En 2000, la Poste, encore entreprise publique, devait pouvoir fournir une adresse électronique à tous les Français⋅e⋅s.

Comment ne pas lui faire confiance ? Nous-mêmes, libristes avons, pendant longtemps, conseillé laposte.net à qui nous demandait un fournisseur de mail « propre », qui n’espionne pas les conversations, ne met pas de publicité…

Les choses ont bien changé.

Le prestataire de la Poste (ah bah oui, c’est un sous-traitant, vous n’imaginiez quand même pas que la Poste allait avoir des compétences en interne à l’heure des suppressions de postes de fonctionnaires ?) semble être, excusez le terme, un vrai branquignol : nous avons souvent des messages d’erreur comme 421 4.3.2 All server ports are busy (les serveurs ne sont pas correctement dimensionnés), 550 5.5.0 Service refuse. Veuillez essayer plus tard. service refused, please try later. LPN007_510 (« nope, on veut pas, revenez plus tard ») ou mon préféré, 451 4.7.1 Service unavailable – try again later (tout est vautré).

Ça fait des mois que les serveurs de laposte.net plantent régulièrement, avec en point d’orgue une panne qui a duré plusieurs jours en avril et une communication qui a mis plusieurs jours à arriver (un message pour dire qu’il y a un problème serait-il un aveu de faiblesse pour eux ?).

Résultat :

  • les mails s’accumulent sur nos serveurs, et comme on retente de les envoyer pendant quelques jours, eh bien ça ralentit le traitement des autres mails (bon, maintenant, j’ai mis en place des mailqueues séparées, mais ce n’est pas quelque chose que je devrais avoir à mettre en place !) ;
  • les utilisateurs ne reçoivent pas leurs mails de confirmation d’inscription à nos services ;
  • qui les utilisateurs contactent-ils ? Ah bah non, pas le support de la Poste, ce serait trop simple. Non, non, c’est nous. Et c’est usant. Non pas de vous répondre, mais le fait que ce soit 95 % du temps la faute à votre fournisseur de mail qui ne fait pas correctement son boulot.

Orange (wanadoo)

Ah, Orange. Tout un poème…

L’opérateur historique qui, lui aussi, a bénéficié de son aura d’ancien service public pour capter une grande majorité des internautes français lorsque vint l’heure de se choisir son premier FAI. Du coup, beaucoup de personnes ont encore une adresse wanadoo. Et comme Orange est le FAI majoritaire en France, encore plus de personnes ont une adresse orange.

J’avais déjà parlé dans mon précédent article de sa sale manie de ne pas accepter qu’on lui envoie trop de mails en une seule connexion. Imaginez un quidam qui refuse que son facteur lui apporte plus de trois lettres par tournée. Le facteur doit donc se représenter plusieurs fois s’il a plus de trois lettres à délivrer. C’est débile. Orange fait ça, mais pour le mail.

C’est le seul fournisseur que je connaisse qui impose ce genre de limite (qu’on ne vienne pas me dire que c’est pour lutter contre le spam : comment font les autres ? Hein ? Orange n’aurait pas les capacités financières et techniques de lutter plus proprement contre le spam ?).

Heureusement, ça se règle facilement, mais tout de même.

Et puis, de temps en temps, pouf, il rejette nos mails à coup de 550 5.2.0 Mail rejete. Mail rejected. ofr_506. Pourquoi ? Va savoir. Et ça se débloque tout seul au bout d’un temps.

Free

Après l’opérateur historique, voici celui qu’on surnomme le trublion du net. De temps en temps, celui-ci semble modifier les règles de son antispam, et nous voilà avec des mails 550 spam detected, quand bien même c’est le 300e mail quasi identique que nous envoyons de la journée. Et puis ça s’en va et ça revient.

Pareil avec 451 too many errors from your ip, ça bloque de temps en temps et ça repart comme c’est venu… alors qu’il s’agit majoritairement de mails de notification (framapiaf, framasphere, framagit…) et donc que les adresses ont été vérifiées ! Certes, il peut y avoir des erreurs, mais tellement peu dans le volume de mails que nous envoyons à Free… Ça arrive vraiment de façon aléatoire. Grmpf.

Facebook

On l’oublie, mais Facebook, en 2010, a proposé d’avoir une adresse mail @facebook.com (bon, ils ont arrêté les inscriptions en 2014, ce qui explique l’oubli). Et certaines personnes utilisent encore ces adresses.

Nos mails étaient bloqués de temps à autre avec un code 554 5.7.1 POL-P4 Connection refused, ce qui veut dire en gros « Revenez dans 24 ou 48 heures ». En soi, ce n’était pas forcément délirant, si jamais nous avions, pour une raison ou pour une autre, envoyé beaucoup de mails d’un coup à leurs serveurs. Mais depuis quelques semaines, il n’y a plus de déblocage : nos mails ne partent plus pour facebook.com, même en les faisant partir d’un autre serveur ou en diminuant la vitesse d’envoi.


Voilà pour les fournisseurs de mails qui font n’importe quoi avec leurs serveurs. Ils présentent tout de même l’avantage de nous permettre de comprendre pourquoi les destinataires n’ont pas reçu leurs mails, fût-ce pour de stupides raisons. Mais il y en a de plus vicieux…

Ceux qui n’amènent pas les mails à leurs destinataires (ou qui les cachent)

On ne les connaît pas bien, ce n’est que lorsque l’on nous contacte pour et que nous voyons que le mail est bien parti qu’on les repère : les fournisseurs de mails qui acceptent nos mails mais, pour une raison ou pour une autre, les envoient rejoindre le grand rien.

Eh oui, nos mails disparaissent parfois sur le serveur de votre fournisseur de messagerie. Vous ne les trouverez dans aucun dossier, pas même dans les spams.

Il s’agit le plus souvent de choix algorithmiques du fournisseur : l’antispam est vraiment sûr que ce message est frauduleux ? Bah, pas la peine d’embêter l’utilisateur, on le jette ! (ce qui est stupide car ne permettant pas la correction des faux positifs par les utilisateurs).

Encore mieux, Gmail. Comme expliqué dans notre FAQ, si vous recevez un mail identique à un que vous avez envoyé, comme un message à une framaliste à laquelle vous êtes inscrit, Gmail cachera le mail reçu de la liste. Vous l’avez envoyé, vous en connaissez le contenu, non ? Ah, vous vouliez voir quand le message arriverait, histoire d’être sûr qu’il a bien été traité par notre serveur de listes ? Pas de bol.

Ceux qui proposent une application pourrie

Les personnes qui utilisent l’application de mail Orange sur leur téléphone ont des soucis pour envoyer des messages à des framalistes. Après investigation, nous nous sommes rendus compte que l’application met l’adresse de la liste (enfin un dérivé, elle met l’adresse dédiée à la réexpédition des mails reçus par la liste) dans l’en-tête Sender.

Que cela veut-il dire et pourquoi est-ce un problème ? Cela fait croire que le mail provient du serveur des framalistes. Comme notre serveur n’est pas stupide, voyant un mail provenant soit-disant de lui-même mais passant par un serveur non-autorisé à envoyer des mails framalistes, celui-ci refuse le mail. Tout simplement. C’est une des techniques classiques de lutte contre le spam que d’agir ainsi.

“cow dung patties” par mary jane watson licence CC BY 2.0

Conclusion

Les problèmes face aux gros silos de mail sont nombreux, et sont loin d’être tous dus à une mauvaise configuration de votre serveur mail que vous chouchoutez vous-même (ou de ceux que nous configurons… Non vraiment, c’est pas nous qui pondons de telles bouses ! D’où ce joli hache-tague : c’est #PasMonCaca).

Je pense personnellement et sincèrement qu’il y a une part d’incompétence de la part de ces silos dans un certain nombre de cas. Si tout le monde jouait le jeu correctement, le mail ne serait pas aussi compliqué qu’aujourd’hui.

Que pouvez-vous faire ? Eh bien, à part changer de fournisseur de mail (connaissez-vous les CHATONS ?), vous pouvez contacter le support de votre fournisseur actuel, lui expliquer la situation et lui dire que ce n’est pas normal. Nous pouvons vous fournir, le cas échéant, les codes d’erreur retournés par son serveur pour les mails que nous vous envoyons. Peut-être qu’en étant suffisamment nombreux à râler, la situation évoluera.

Fun fact : combien des fournisseurs de mail évoqués dans cet article permettent de contacter leur serveur de mail en IPv6 ? Un seul — je vous laisse chercher lequel 😁

(Et si vous vous posez la question, oui, les serveurs de framasoft.org et framalistes.org sont accessibles en IPv6, comme toute l’infrastructure de Framasoft. Quand on veut, on peut.)

Image d’en-tête par barefootcollege, source.




Les flux RSS, maintenant !

Il n’y a pas si longtemps, les flux RSS nous étaient familiers et fort utiles. Aral Balkan nous invite à nous en servir partout et explique pourquoi ils sont peut-être l’avenir d’un autre Web en gestation..

Peu compliqués à mettre en place sur une page web, ils permettent un lien sans intermédiaire entre la production de contenu et son audience, court-circuitant ainsi les plateformes centralisatrices que nous avons laissé parasiter nos communications. Tandis que se confirme une tendance forte à la fédération des contenus, la pertinence des flux RSS qui permet de les découvrir pourrait être un allié important pour re-décentraliser le Web.

On veut retrouver les flux RSS

D’après le billet d’Aral Balkan Reclaiming RSS

Bien avant Twitter, avant que les algorithmes ne filtrent notre réalité à notre place, avant le capitalisme de surveillance, existaient déjà les flux RSS : acronyme de Really Simple Syndication, c’est-à-dire la syndication vraiment simple.1

C’est quoi déjà ?

Pour ceux et celles qui sont né⋅e⋅s dans le monde des silos du Web centralisateur, les RSS sont une antique technologie du Web 1.0 (« le Web ingénu des premiers âges » ?). Comme pour beaucoup de choses de cette époque, le nom dit la chose : ils permettent de syndiquer facilement les contenus de votre site, c’est-à-dire de les partager. Les personnes que cela intéresse de suivre vos publications souscrivent à votre flux et reçoivent ainsi les mises à jour en utilisant leur lecteur de RSS. Pas de Twitter ni de Facebook pour s’interposer avec des algorithmes pour censurer… euh … « modérer » vos billets.

RSS est d’une simplicité enfantine à implémenter (juste un fichier XML). Vous pouvez l’écrire à la main si vous voulez (même si je ne le recommande pas).

Voici un extrait du flux RSS de mon site, qui vous montre quelques-uns des champs de l’entrée courante de ce billet :

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Aral Balkan</title>
<link>https://ar.al/</link>
<description>Recent content on Aral Balkan</description>
<lastBuildDate>Fri, 29 Jun 2018 11:33:13 +0100</lastBuildDate>

<item>
<title>Rediscovering RSS</title>
<link>https://ar.al/2018/06/29/rediscovering-rss/</link>
<pubDate>Fri, 29 Jun 2018 11:33:13 +0100</pubDate>
<author>mail@ar.al (Aral Balkan)</author>
<description>(The content of this post goes here.)</description>
</item>

</channel>
</rss>

De plus son implémentation est quasi-universelle.

Où est mon RSS ?

Il y a bien des chances, si vous avez un site web, que vous ayez déjà un flux RSS, que vous le sachiez ou non. Si par exemple vous utilisez comme moi Hugo pour créer votre site, votre flux RSS est là :  /index.xml

D’autres générateurs peuvent les insérer ici ou là : at /rss, /feed, /feed.xml, etc.

un tableau avec toutes sortes d'icônes pour les flux RSS
Le Noun Projet présente une belle sélection d’icônes RSS qui sont à votre disposition

 

À une époque, vous ne pouviez pas surfer sur le Web sans voir partout les séduisantes icônes RSS décorer gracieusement les belles vitrines du Web 1.0. Mais ça, c’était avant qu’elles ne soient vampirisées par les traqueurs espions … euh …  « les boutons de partage social » des Google et autres Facebook qui pratiquent la traite intensive d’internautes.

Il existait aussi auparavant une saine propension des navigateurs à détecter automatiquement et afficher les flux RSS. Aujourd’hui, il semble qu’aucun navigateur majeur ne le fasse bien nettement.

Il est grand temps de revenir à la charge pour exiger une prise en charge de premier plan des flux RSS, une brique importante pour re-décentraliser le Web.

Mais vous n’avez pas besoin d’attendre que les éditeurs de navigateurs se décident (certains comme Google sont eux-mêmes des agents du capitalisme de surveillance et d’autres, comme Mozilla, doivent leurs ressources financières aux capitalistes de la surveillance). Vous pouvez dès maintenant remettre à l’honneur les flux RSS en retrouvant l’adresse URL de votre propre RSS et en l’affichant fièrement sur votre site.

Rien de bien compliqué : il suffit d’un lien dans la partie <head> de votre page2 et d’un lien dans le <body> avec une icône RSS et hop vous voilà dans la famille du Web décentralisé.

voici le lien à insérer dans le <head> :

<link
rel="alternate"
type="application/rss+xml"
href="https://ar.al/index.xml"
/>

et voilà l’en-tête à mettre dans le <body> qui établit le lien avec le flux RSS avec une icône visuellement repérable.

<a
rel='alternate'
type='application/rss+xml'
href='/index.xml'
>
<img
class='rss'
src='/icons/rss.svg'
alt='RSS feed icon'
title='Subscribe to my RSS feed'
>
</a>

Jetez un coup d’œil au Noun Project pour choisir votre icône RSS, elles sont toutes sous licence Creative Commons.

RSS lourd ou léger ?

Capture d'écran du lecteur Leaf RSS sur macOS qui affiche mes souscriptions, la liste des derniers billets de mon blog, et mon billet sur Kyriarchy, qui s'affiche parfaitement.
Le lecteur de RSS Leaf affiche parfaitement l’intégralité du contenu HTML.

 

Lorsque vous créez un flux RSS pour votre site, vous avez le choix entre inclure seulement un résumé de votre billet ou bien son contenu intégral. J’ai modifié la configuration de mon Hugo et le modèle de RSS par défaut en suivant les instructions de Brian Wisti pour inclure le contenu intégral dans le flux et je vous recommande d’en faire autant.

Il y a six ans, je préconisais l’inverse ! J’écrivais « le RSS lourd n’est qu’une copie du contenu sous un autre nom ». J’avais tort. J’étais trop obsédé par le maintien d’une mainmise formaliste sur mes conceptions et je n’ai donc pas réussi à faire un choix réfléchi en utilisant des critères de conception éthiques.

Capture d'écran du lecteur de RSS NewsBar RSS sur macOS qui affiche mes souscriptions, la liste des billets de mon blog et un aperçu de mon billet sur Kyarchy, avec l'image et les styles qui ont disparu.
Le lecteur de RSS Newsbar n’affiche pas les images ni le style correctement dans l’aperçu du contenu.

Capture d’écran du lecteur de RSS NewsBar RSS sur macOS qui affiche mes souscriptions, la liste des billets de mon blog et un aperçu de mon billet sur Kyarchy, avec l’image et les styles qui ont disparu.

Plus les personnes ont de moyens d’accéder à vos contenus publiés, plus ces contenus ont des chances de rester en ligne et meilleur c’est pour la liberté de tous.

Des contenus dupliqués ? Oui, sans problème ! Plus on en a et mieux ça vaut. Eh eh, avec la version web en pair à pair de mon site, le but est idéalement de dupliquer le contenu autant de fois qu’il y aura de personnes pour le parcourir.

Certes, votre contenu peut être légèrement différent d’un lecteur RSS à l’autre, car certaines applications ne sont pas conformes aux standards, mais c’est leur problème, pas le vôtre. D’après mes tests partiels, le lecteur Leaf pour macOS affiche mon flux RSS lourd parfaitement alors que NewsBar ne le fait pas. Pas grave. (et j’espère que l’équipe de NewsBar en prendra bonne note pour améliorer le rendu dans une prochaine mise à jour. Après tout, aucune application n’arrive parfaite sur le marché).

Maintenant que nous nous éloignons du Web centralisé pour aller vers un Web pair à pair, il est temps de redécouvrir, adopter et exiger les flux RSS.

Tout ce qui est ancien reprend une nouvelle force.

RSS était un élément essentiel du Web 1.0 avant que le capitalisme de surveillance (Web 2.0) ne s’en empare.

Ce sera une composante précieuse du Web+ et au-delà.

[Copyright © 2018 Aral Balkan. Licence : Creative Commons Attribution-ShareAlike.]


    • Pour aller plus loin sur le sujet des flux RSS, un autre article du même auteur publié plus récemment : Refining the RSS

et ses aventures nocturnes pour tenter de faire apparaître cette maudite icône de RSS.

  • Pour s’abonner aux flux du Framablog, c’est par ici en bas à droite

  • Avec Firefox, il n’est pas très compliqué de s’abonner aux flux web, que ce soit RSS ou autres formats

Une entrée de menu dans les marque-pages ou plus direct encore, une icône à mettre dans votre barre personnelle. Davantage de détails dans cet article de SUMO




Contribuer à un logiciel libre dans une formation en école d’ingénieur

Des étudiants de l’Université de Technologie de Compiègne effectuent, dans le cadre de leur cursus, des Travaux de Laboratoire consistant à avancer sur des tickets du projet Framadate (qui n’en manque pas), avec le soutien de leur enseignant Stéphane Crozat (dont on vous reparlera) et du CHATONS local Picasoft. Leurs travaux sont documentés dans un wiki et leur avancement dans des pads.

De la belle contribution utile !


Pour commencer, une petite présentation s’impose : je m’appelle Justine et je suis en première année de formation ingénieur en informatique à l’UTC (Université de Technologie de Compiègne). Lors de ce semestre, c’est-à-dire lors des quatre derniers mois, et dans le cadre de ma formation (ce travail, après évaluation, pourra m’apporter 5 crédits ECTS), j’ai eu l’occasion de contribuer au logiciel libre Framadate. Cet article se veut être un bilan de mon expérience.

 

Contribuer à un logiciel libre, était-ce différent d’un projet « classique » ?

À l’UTC, les étudiants sont évalués selon des barèmes différents d’une matière à l’autre. En informatique, l’évaluation comprend souvent un projet (qui ne correspond pas souvent à plus de 20% de la note finale). Ce projet a des objectifs largement pertinents, comme vérifier sur un cas pratique que les étudiants ont assimilé la théorie qui leur a été enseignée. Cependant, j’ai souvent éprouvé une certaine frustration vis-à-vis  de ces projets. En effet, une fois rendu, évalué et donc noté, le projet tombe dans l’oubli : pas d’utilisation réelle, pas d’amélioration, une sorte de produit déjà mort à sa sortie. Ainsi, l’idée de travailler sur un logiciel  libre, avec des utilisateurs bien réels derrière, m’a semblé extrêmement pertinente et bien différente des projets que j’avais déjà pu mener.

Est ce que ces différences ont entraîné des difficultés ?

Les premières difficultés rencontrées ont été celles posées par l’installation et la prise en main de l’environnement de travail, proposé par les suiveurs. Alors que la plupart du temps, pour mener à bien les projets classiques, les installations des environnements sont déjà faites sur les machines de l’UTC, cela n’était pas le cas cette fois. Composé de nombreux outils (principalement Docker et Git au sein de Linux), l’installation de notre environnement a été relativement lourde et laborieuse. Une fois installé, l’environnement est au premier abord difficile à prendre en main : de nombreuses lignes sont à exécuter dans l’interpréteur de commandes avant de pouvoir tester le code.

Mais les difficultés les plus compliquées à surmonter ont été celles posées par le projet en lui-même. D’abord parce que les langages utilisés (SQL, PHP orienté objet, Javascript, HTML via le moteur de templates Smarty…) ne m’étaient pas ou peu connus. Ensuite, et surtout, parce qu’il m’a paru très compliqué de m’insérer dans un projet déjà bien développé (dans un projet « classique » à l’UTC, on part de rien, on développe tout), projet dont l’architecture n’est pas (ou très peu) documentée. Sa compréhension a donc nécessité beaucoup de temps et d’efforts, j’y reviendrai.

Comment s’est organisée ta contribution ?

Cette contribution a été organisée selon une méthode de type agile : le travail est découpé en itérations de six heures chacune, une itération par semaine. Le semestre a ainsi été rythmé par des réunions de suivi hebdomadaires avec les suiveurs, Stéphane Crozat et Andrés Maldonado, chargés d’accompagner et d’évaluer le travail. Sur chaque itération, nous déterminions donc ensemble l’objectif à atteindre pour la semaine suivante, et je déterminais seule l’articulation de mon travail (combien d’heures je devais passer à réaliser telle tâche). La contribution s’est articulée en deux volets : un volet de développement (qui consistait en la résolution de trois issues ouvertes sur le projet) et un volet de documentation (via le wiki de l’association Picasoft).

Concrètement, qu’as-tu apporté à Framadate ?

Comme évoqué plus haut, l’architecture du projet n’était que très peu documentée. Ainsi, afin de travailler efficacement sur le projet, j’ai préféré commencer par passer plusieurs heures (concrètement une vingtaine) à explorer le projet et documenter au maximum ce que j’en comprenais (les classes implémentées, leur articulation au sein du projet…). Un travail étudiant comme celui-ci est aussi l’occasion d’apprendre à formaliser et documenter, mon travail est disponible ici.

Ce n’est que dans un second temps que j’ai réellement commencé mon travail de résolution d’issues, et donc de développement et de documentation du travail réalisé. J’ai préféré travailler ces deux volets en parallèle, afin de restituer le travail réalisé lorsque tout était encore frais dans mon esprit. J’ai ainsi pu travailler sur trois issues :

Issue #38 : collecter les adresses e-mail des sondés
L’idée est de permettre à l’administrateur de choisir de collecter (ou non) les adresses e-mail des sondés. Si l’administrateur choisit la collecte, alors la saisie d’une adresse de courriel valide (respectant le format e-mail) est obligatoire pour voter. La collecte s’accompagne d’une fonctionnalité permettant à l’administrateur de récupérer efficacement l’ensemble des adresses des personnes sondées.

A la création d’un sondage, l’administrateur choisit s’il collecte ou non les adresses emails des sondés.

 

Un avertissement informe que, dans le cas où les votes sont modifiables par tous, n’importe qui ayant accès au sondage peut récupérer les adresses emails des sondés.

 

Pour voter, lorsque la collecte des adresses emails est active, une adresse email valide doit être renseignée. L’administrateur peut récupérer la liste des adresses emails des sondés grâce aux boutons enveloppe situés au dessus de chaque colonne. Si la collecte est active et que quiconque peut modifier tous les votes, un avertissement informe que n’importe qui peut accéder aux adresses emails des sondés.

 

En cliquant sur un bouton enveloppe, l’administrateur récupère les adresses emails des sondés triées selon leur choix (‘oui’, ‘si besoin’ ou ‘non’).

 

Issue #324 (et #61) : Amélioration de l’option de collecte des adresses e-mail des personnes sondées. L’idée était d’améliorer le travail réalisé précédemment en passant la collecte des adresses de courriel sous quatre options différentes :

  • option 1 : la collecte est désactivée ;
  • option 2 : la collecte est activée ;
  • option 3 : la collecte est activée et la saisie est obligatoire ;

option 4 : la collecte est activée, la saisie est obligatoire et le vote doit être confirmé par un clic sur le lien envoyé dans un mail à l’adresse renseignée (cette dernière option n’a pas été implémentée car le service d’envoi d’e-mail est inutilisable au sein de l’installation).

A la création d’un sondage, l’administrateur choisit une des quatre options pour son sondage. De même que précédemment, un avertissement informe si les adresses emails des sondés ne sont pas protégées.

 

Issue #208 : permettre la finalisation d’un sondage par l’administrateur
L’idée était d’ajouter une fonctionnalité pour l’administrateur de clôture de sondage et de lui permettre :

  • de sélectionner le choix retenu ;
  • de justifier son choix.

Dans les informations du sondage, l’administrateur et l’utilisateur sait si le sondage est encore ouvert ou s’il est fermé (ici, il est encore ouvert). L’administrateur peut fermer le sondage en cliquant sur le bouton.

 

Une fois le sondage fermé, l’administrateur peut sélectionner le choix qu’il retient grâce au bouton au dessus de chaque colonne. La valeur de ce choix est visible dans les informations du sondage, côté administrateur et côté utilisateur.

Une fois un choix sélectionné, l’administrateur peut justifier son choix. La valeur de cette explication est visible dans les informations du sondage, côté administrateur et côté utilisateur.

Chacune de ces résolutions d’issues a fait l’objet d’une merge-request. C’est un processus itératif très intéressant à découvrir au sein duquel on peut interagir avec les développeurs logiciel et web de Framasoft qui vont vérifier le travail proposé et en demander des corrections.

Tout au long de mon travail, j’ai pu ainsi interagir avec différents interlocuteurs : les suiveurs bien sûr, Stéphane Crozat et Andrés Maldonado, mais aussi Thomas Citharel, développeur logiciel web chez Framasoft, et Kyâne Pichou, diplômé de l’UTC. Je tiens à remercier tous ces interlocuteurs pour leur soutien et leurs conseils, je pense qu’il est indispensable d’être bien accompagnés dans ce processus de contribution afin qu’il soit efficace et utile à tous.

Finalement, quels sont les apports au sein de ta formation ?

Contribuer à Framadate m’a d’abord permis de gagner en compétences d’utilisation des outils utilisés (Docker, Git, Linux) et en développement web : interface, base de données,…. Mais cette contribution m’a surtout fait gagner énormément d’indépendance et d’autonomie vis-à-vis d’un projet déjà existant et bien développé, ce qui est très formateur et pertinent en amont de mon futur stage (six mois en entreprise à partir de septembre).

Que faudrait-il retenir de cet article ?

Contribuer à un logiciel libre au sein de la formation en école d’ingénieur constitue une expérience très pertinente pour compléter le profil théorique et « scolaire » d’un étudiant. Cette expérience permet de faire face à de nouvelles difficultés, et ainsi développer de toutes nouvelles aptitudes.

 

En savoir plus :

ECTS : European Credits Transfer System, calculés en fonction de la charge de travail de l’étudiant , ils permettent l’obtention des diplômes français (et européens).

Picasoft est le CHATON créé par les étudiants de l’UTC.




La FIFA ne veut pas qu’on danse de joie devant sa télé

Le football déclenche en ce moment même de féroces passions, mais aussi la rapacité de la FIFA. Voici un fait-divers qui l’illustre, il est digne de figurer dans le célèbre Copyright Madness de Numerama… c’est à la fois drôle et consternant.

Danser devant sa télé ? Pas question, dit la FIFA 

Source : FIFA Is Not Okay With Dancing In Front of the TV

Traduction Framalang : wyatt, simon, goofy

Nous voilà en pleine Coupe du monde de foot. Ça veut dire qu’on marque des buts. Et chaque but marqué donne lieu à une célébration enthousiaste. Voici par exemple une compilation (lien vers YouTube) de fans de football aux États-Unis qui fêtent un but de la dernière minute pendant la Coupe du monde de 2010. Ah, que de souvenirs.

Eh bien pourtant, la FIFA ne semble pas aimer que les fans de foot fêtent les victoires devant leur écran de télé. Cet organisme vient d’envoyer une mise en demeure de retrait pour une vidéo de 5 secondes montrant un petit garçon qui danse de joie dans le salon familial.

On distingue à l’arrière-plan l’écran de télévision dont l’image a été floutée depuis

 

Suite à un but marqué pendant le match Angleterre-Tunisie, Kathryn Conn a mis en ligne une vidéo de 5 secondes de son fils de 7 ans qui fête le but. Mrs Conn a expliqué que son fils est un« fan absolu des Spurs et qu’il voue littéralement un culte à Harry Kane, donc il s’est mis à danser de joie dans le salon. Malheureusement, la danse s’est déroulée devant l’écran de télévision qui diffusait encore le match. Et s’il y a une chose avec laquelle la FIFA ne rigole pas du tout, c’est bien leur copyright.

Mrs Conn raconte que le lendemain matin au réveil elle s’est rendu compte que la vidéo avait été supprimée de Twitter accompagnée d’un avertissement indiquant que c’était dû à une demande de retrait relative au DMCA (Digital Millennium Copyright Act) venant de la FIFA, laquelle était apparemment très ennuyée qu’une image floue en arrière-plan d’une partie de football dans une vidéo de 5 secondes puisse influer sur l’audience de l’événement sportif le plus attendu à la télé britannique en 2018.

Hmmm. un gamin qui danse dans une brève vidéo avec du matériel sous copyright en arrière-plan ? Nous espérons que ça ne prendra pas 10 ans de procédure comme dans l’affaire du bébé dansant pour que la FIFA en tire la leçon. La FIFA devrait respecter le fair use (usage raisonnable et acceptable) et respecter ses propres fans aussi…

 




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 WinDev3. 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