De 0 à 52 numéros du Courrier du hacker, un an de lettre d’information du Logiciel libre

Le temps et l’attention sont des denrées précieuses, tandis que s’accroît toujours davantage le volume des informations disponibles. Aussi les outils de veille et curation sont-ils des alliés précieux pour qui souhaite disposer d’une sélection de qualité.

À ce titre le travail efficace de Carl Chenet pour nous proposer depuis un an Le Journal du hacker méritait bien d’être salué, et c’est avec plaisir que nous lui laissons la plume pour faire le bilan et la promotion de sa réalisation. Abonnez-vous !


Le Courrier du hacker est une lettre d’information résumant chaque semaine l’actualité francophone du Logiciel Libre, publiée le vendredi, que l’abonné reçoit directement dans ses e-mails. Après 52 numéros, le Courrier du hacker a donc récemment fêté sa première année.

1. Se hisser sur les épaules des géants

Le Courrier du hacker repose sur l’exceptionnel travail de la communauté FOSS francophone, médias, articles publiés par les blogs d’entreprise, les associations (comme le blog de Framasoft) et les blogueurs individuels, articles qui sont chaque semaine relayés par le Journal du hacker, l’agrégateur de liens du Logiciel Libre francophone (dont je suis l’un des fondateurs) et dont la base de données est librement accessible.

À partir de cette base de données et d’une suite de scripts maison, les articles ayant reçu le plus de votes de la semaine sont extraits. J’effectue ensuite moi-même une sélection pour ne retenir que les plus pertinents et offrir le contenu le plus intéressant tout en gardant à l’idée de représenter l’actualité de la semaine passée. La réalisation de la lettre d’information me prend entre deux et trois heures par semaine.

Après sélection des meilleurs articles de la semaine, cette lettre d’information a pu, après un an de publication ininterrompue, atteindre les 52 numéros et s’imposer comme un nouvel acteur FOSS au format original que plus de 1600 abonné⋅e⋅s utilisent pour effectuer leur veille technologique ou afin de rester en alerte sur les libertés individuelles et la vie privée.

2. Le meilleur du FOSS francophone en un e-mail

Le Courrier du hacker propose chaque semaine 16 liens dans un e-mail. Pourquoi 16 ? J’ai fait le choix de ne pas surcharger l’e-mail, afin que les principaux liens de la semaine restent bien visibles. L’idée est de proposer un contenu de grande qualité dans un format réduit.

En effet rester au courant demande aujourd’hui beaucoup de temps et de consulter chaque jour de nombreux médias. Cela s’avère souvent fastidieux et il est hélas facile de rater quelque chose qu’on trouve dine d’intérêt. Il est également important de prendre le temps d’analyser les événements, temps qui se raréfie quand on voit les notifications qui nous surchargent aujourd’hui. En se basant sur les articles écrits par la communauté FOSS, en effectuant un tri et en publiant les numéros à date fixe, le Courrier du hacker prend le temps de l’information dans une optique de qualité. Les e-mails des abonnés ne sont bien sûr utilisés que pour envoyer la lettre d’information.

3. Un contenu accessible à tous

Bien que le format premier soit celui de l’e-mail publié chaque semaine, je me suis rendu compte que ce format ne convenait pas à tous. J’ai également reçu des demandes afin d’ouvrir plus largement le contenu. Et il aurait été dommage de restreindre l’accès à un contenu de qualité pour une question de préférence de média.

J’ai donc rendu disponibles les archives directement depuis le site web. J’ai également commencé à relayer le contenu via les réseaux sociaux, en créant un compte Mastodon sur Framapiaf (merci Framasoft !) et un compte Twitter pour le Courrier du hacker.

Au niveau technique, le site officiel est un site statique servi par Nginx qui offre essentiellement le formulaire d’abonnement à la lettre d’information, les archives des numéros publiés et le flux rss dédié. À partir de ce flux rss, les outils Feed2toot et Feed2tweet (dont je suis l’auteur) permettent de diffuser le contenu du flux vers respectivement Mastodon et Twitter.

4. Le futur du Courrier du hacker

Le but est de continuer aussi longtemps que possible à publier et à faire connaître le Courrier du hacker afin de promouvoir les articles de grande qualité écrits en français chaque semaine dans les communautés FOSS. Des besoins apparaîtront sûrement dans le futur et je reste à l’affût des demandes qui me sont remontées. N’hésitez pas à me contacter en répondant simplement à l’e-mail de la lettre d’information.

5. Liens du Courrier du hacker

dessin humo du geektionerd generator : l’un s eplaibnt que son projet ne soit pas mentionné dans ce canard, l’autre lui répond que si on a 20 ans et qu’on n’est pas dans le journal du hacker c’est qu’on a raté sa vie
image https://framalab.org/gknd-creator/




Les logiciels libres meurent lentement sans contributions

Dans une récente conférence où il présentait Contributopia, le projet pluriannuel de Framasoft, sous son angle politique, Pierre-Yves Gosset s’attachait à déboulonner quelques mensonges avec lesquels se rassurent les libristes. Le nombre présumé des contributeurs et contributrices, en particulier, était ramené à sa juste proportion :

Bien sûr, tout le monde ne peut pas envoyer des commits de code, mais l’exemple est symptomatique : le Logiciel Libre c’est surtout des consommateurs et consommatrices.

C’est ce que souligne également Carl Chenet, plume invitée ci-dessous. Il pointe en particulier le risque sérieux d’étiolement voire de disparition pure et simple des équipes parfois minuscules qui maintiennent des FOSS (Free and Open Source Software, appellation œcuménique qui joint Les logiciels libres et open source). Il en appelle à une contribution minimale qui consisterait au moins à faire connaître les projets et encourager les créateurs à continuer. Chez Framasoft, nous sommes tout à fait en phase avec cet appel, voyez par exemple cet article sur le Contribution Camp qui propose quelques pistes pour « avancer ensemble vers la contribution ».


Logiciels libres et open source : le consumérisme passif tue la communauté
Par Carl CHENET

article aussi publié en anglais sur mon blog

En bref : ne soyez pas un consommateur passif de logiciels libres. Cela va tuer la communauté FOSS ou lui nuire. Contribuez de n’importe laquelle des manières décrites dans cet article, même la plus élémentaire, mais contribuez quotidiennement ou de façon très régulière.

petite photo de l’auteur de l’article, carl Che

Je suis ingénieur système depuis plus de 10 ans maintenant et je travaille presque exclusivement avec des systèmes GNU/Linux. Je suis aussi profondément impliqué dans la communauté des logiciels libres et open source (FOSS) depuis longtemps et je passe beaucoup de temps sur les réseaux sociaux (surtout Twitter et Mastodon ces jours-ci). Et certains comportements m’énervent toujours autant.

Le consommateur se croit plus intelligent et plus efficace que les autres

De nombreux professionnels de l’informatique qui utilisent les logiciels libres affichent un comportement de pure consommation dans leur relation avec les logiciels libres. Par exemple ils essaient souvent d’utiliser un logiciel dans un environnement très spécifique (version spécifique d’une distribution GNU/Linux, version spécifique d’un logiciel). Ils ne réussissent pas à l’utiliser dans cet environnement ? Ce logiciel est évidemment de la merde, il devrait fonctionner avec les paramètres par défaut, sinon il n’est pas convivial. La documentation est disponible ? Qui lit le doc ? J’ai besoin de réponses maintenant, je n’ai pas le temps de lire la documentation ! Et qui a écrit cette merde d’ailleurs ?

Si la réponse n’est pas le premier lien StackOverFlow de la première recherche Google, je laisse tomber cette merde. Mon temps est précieux donc je vais essayer un autre logiciel (et perdre 2 fois plus de temps) ou mieux le coder moi-même (100 fois plus de perte de temps) et de telle manière qu’il sera impossible de le réutiliser bien sûr.

Les consommateurs passifs n’envoient jamais un rapport de bogue. C’est une perte de temps, qui réclame des efforts. Qui a le temps de l’écrire sauf les pigeons ? Pas même un ping au mainteneur ou au développeur principal du projet (ils devraient savoir, ils ont écrit cette merde !) Ok, je l’ai appelé sur Twitter il y a 2 minutes. Les gens ne répondent pas en une minute ? Allez vous faire foutre, bande de losers juste bons à perdre votre temps ! Je m’en tape qu’il soit 2h du matin pour lui.

Ok, ok, ok, c’est bon, je vais écrire un rapport de bug si les ouin-ouins insistent : ÇA MARCHE PAS BOUGEZ-VOUS LE CUL BANDE DE CONNARDS, CORRIGEZ ÇA MAINTENANT !

Faire un don au développeur ou à la développeuse ? Pour quoi faire ?

Même avec des logiciels qu’ils aiment et utilisent tous les jours et qui fonctionnent parfaitement, avec des mises à jour régulières parfaites, la plupart des professionnels de l’informatique ont exactement ce même comportement de consommation passive.

Ça fait 5 ans que ce logiciel alimente toute l’informatique, ce qui aide l’entreprise à gagner beaucoup d’argent ? Tout à fait. Le développeur principal demande de l’argent / de la reconnaissance par le biais des réseaux sociaux ? Sale clodo ! Il a besoin d’argent ? Moi aussi ! Cette personne a-t-elle un Patreon ? On s’en fout ! Ce type me doit d’utiliser son logiciel, il me casse les pieds, il adore coder gratuitement de toute façon ce pigeon.

L’aider en achetant une licence professionnelle pour ce logiciel ? MDR pour quoi faire ? Mon patron va se marrer en entendant ça. Personne ne paie pour les logiciels (sauf les pigeons). C’est gratuit, comme dans bière gratuite bébé !

Je vais même lui demander de modifier la licence parce que je ne peux pas utiliser ce logiciel (qu’il maintient gratuitement le con) dans ma propre suite logicielle propriétaire. Il devrait me remercier de l’aider à développer son logiciel, ce futur Marc Zuckerberg. Je suis presque sûr qu’il a gagné masse de thunes de toute façon. Il en aura pas par moi, pas question.

Et bien sûr, ce comportement de consommation passive a des impacts négatifs sur l’écosystème des logiciels libres. Vraiment. Habituellement, après quelques années, le développeur principal abandonne le projet. À ce moment-là, vous pouvez généralement lire ce genre de commentaires furieux sur son blog ou dans les rapports de bug « Espèce de branleur t’as plus mis à jour ton logiciel depuis des années, feignant va, des gens sérieux l’utilisent, réponds ou je laisse des milliers de commentaires insultants ! J’ai tout misé sur ton code, tu devrais me remercier à genoux. Espèce de communiste branleur, j’enlèverais mon étoile sur ton repo Gihub/Gitlab si je l’avais mis en vedette. Mais bien sûr que non, je ne vais pas mettre en vedette tous les projets que j’utilise, qu’est-ce que tu crois ? Contribuer d’une façon ou d’une autre ? Allez, faut grandir un peu, et faire avec. La vie est dure. »

Promouvoir les projets que vous utilisez et interagir avec eux

Afin de ne pas ressembler aux tristes personnages décrits plus haut, merci d’aider les projets que vous utilisez. Si votre entreprise gagne de l’argent grâce aux FOSS et que vous êtes chef d’entreprise, financer ou bloquer du temps pour que vos développeurs donnent un coup de main pour au moins un projet que vous utilisez quotidiennement semble un objectif raisonnable et démontre une certaine compréhension de l’écosystème FOSS.

Si vous êtes un employé d’une entreprise utilisant des FOSS, une étape très importante est de faire savoir à votre chef ou votre patron que des parties de votre infrastructure mourront à court terme (quelques années) si vous n’aidez pas ce projet de quelque façon que ce soit.

99,9 % des projets FOSS sont des projets maintenus par une seule personne. Cette petite bibliothèque JavaScript que le frontend du site web de votre entreprise utilise ou ce petit script de sauvegarde de base de données dont tout le monde se fout mais qui vous a déjà sauvé la vie 2 fois.

Si l’argent n’entre pas en jeu dans votre utilisation des FOSS et si vous fournissez un service gratuit à d’autres personnes, faites savoir aussi largement que possible que vous utilisez des FOSS et n’hésitez pas à remercier certains projets de temps en temps. Le simple fait de dire aux personnes par le biais de Mastodon ou Twitter que vous utilisez leurs logiciels peut leur remonter sacrément le moral. Mettez en vedette leurs projets sur Gitlab ou Github pour leur faire savoir (ainsi qu’aux autres) que ce projet est utile.

Quelques manières de contribuer

Voici une liste d’excellents moyens de contribuer :

• Faites savoir aussi largement que possible via les réseaux sociaux que votre dernière mise à jour de tel ou tel logiciel s’est déroulée sans problèmes. Faites passer le mot autour de vous.
• Rédigez un billet de blog décrivant vos expériences et la valeur ajoutée que ce grand projet FOSS a apportée à votre entreprise ou à vos projets. Suivez les développeurs principaux de différents projets sur Mastodon ou Twitter et retweetez/likez/pouétez… leurs dernières nouvelles de temps en temps.
• Écrivez un commentaire de remerciement sur le blog du projet ou sur le blog du développeur principal. La lecture de votre commentaire sera un rayon de soleil dans la journée du développeur de ce projet.

Mettez une étoile au projet feed2toot sur Gitlab

Ne soyez plus un consommateur passif

Ne soyez plus un consommateur passif de logiciels libres et open source. Le niveau moyen nécessaire pour contribuer à un projet et les attentes des créateurs de logiciels libres et open source augmentent de jour en jour dans un monde où la complexité et les interactions s’accroissent rapidement. Il n’y a souvent qu’une toute petite équipe (d’une seule à 5 personnes) qui est au cœur du développement fondamental des FOSS.

copie d’écran twit de Chent où il parle de la dernière version d’elastic stack
Je parle tous les jours des FOSS sur mes comptes Twitter et Mastodon

 

Contribuez de n’importe quelle manière décrite dans cet article, même la plus élémentaire, mais contribuez quotidiennement ou de façon très régulière. Vous aurez ainsi une participation concrète et fournirez de bonnes vibrations et d’excellents apports aux projets FOSS. Vos contributions changeront vraiment les choses, encourageront et (re)motiveront les personnes impliquées. C’est bon pour vous, vous allez améliorer vos compétences, acquérir des connaissances sur la communauté FOSS et de la visibilité pour votre entreprise ou vos projets. Et c’est une bonne chose pour la communauté FOSS que d’avoir de plus en plus de personnes qui contribuent par n’importe quelle action positive.

À propos de l’auteur

Carl Chenet, passionné de logiciels libres, auteur du Courrier du hacker, la lettre d’information hebdomadaire résumant l’actualité francophone du Logiciel Libre et Open Source




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.




Un jeune libriste part à l’asso des mauvaises habitudes

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

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


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

Bonjour à tous,

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

Contexte

Les études

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

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

Le choix de l’association

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

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

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

Un peu de technique

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

Tâches assignées

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

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

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

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

Présentation de Ciné-Asso

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

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

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

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

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

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

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

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

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

Le site web

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

Le décor

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

Les plugins

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

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

Choses vues

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

M. Réglisse et Micro$oft Office

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

Vive le libre !

M. Réglisse et le mailing

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

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

La réunion à mi-chemin

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

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

Les deux premières heures

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

Les deux dernières heures

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

État des lieux

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

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

À l’aide, Mastodon !

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

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

 

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

Alors que choisir ?

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

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

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

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

Partons donc pour Galette !

Galette

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

Le cahier des charges

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

Le plugin

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

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

La demande de dernière minute

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

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

Préparation pour la migration

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

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

La grande migration

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

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

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

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

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

Formatage des données

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

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

Vérification des données

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

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

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

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

Déploiement de la solution

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

L’imprévu fatidique

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

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

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

La formation

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

Le suivi

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

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

Ressenti personnel

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

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

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

Vive le libre !

@Neil@shelter.moe




PeerTube : vers la version 1, et au-delà !

PeerTube est un logiciel libre permettant d’héberger et de partager des vidéos.

Ses principales différences avec YouTube, Dailymotion, Vimeo & co ?

  • PeerTube est libre : son code est un « commun » numérique, partagé avec tous et toutes, et non une recette secrète appartenant à Google (pour YouTube) ou à Vivendi/Bolloré (pour Dailymotion).
  • PeerTube est décentralisé : toute personne en ayant les compétences peut l’installer sur son propre serveur et mettre en place « sa » version de PeerTube (qu’on appelle une « instance »).
  • PeerTube n’impose pas de gouvernance : contrairement à YouTube, toute structure (individu, entreprise, association, communauté, etc.) ayant installé son instance PeerTube peut choisir sa thématique, les vidéos qu’elle héberge, qui peut s’y enregistrer pour disposer d’un compte, etc.
  • PeerTube est fédéré : contrairement à YouTube qui est un seul énorme silo contenant des milliards de vidéos, une instance PeerTube peut se connecter à d’autres instances de son choix et afficher leurs vidéos, sans avoir besoin de changer de site. Ainsi, avec PeerTube, vos vidéos ne sont plus isolées sur une seule machine : elles peuvent être cherchées et regardées depuis des centaines d’autres instances PeerTube.
  • PeerTube permet du streaming en pair-à-pair : contrairement à YouTube, qui est le seul « émetteur » de la vidéo, si 100 personnes regardent une même vidéo avec PeerTube, elles s’envoient de petits morceaux de la vidéo les unes aux autres, diminuant ainsi les coûts de diffusion pour la structure hébergeant l’instance.

[Vidéo de présentation de PeerTube, en anglais, avec les sous-titres français, sur Framatube. Pour la vidéo avec les sous-titres en anglais, cliquez ici. Réalisation : Association LILA (CC by-sa)]

 

Rappel des épisodes précédents : en novembre dernier, nous vous annoncions que Framasoft avait recruté Chocobozzz, le développeur du logiciel PeerTube (alors en version alpha), afin de lui donner les moyens de produire une version bêta du logiciel.
Nous vous avions alors sollicités pour nous aider à financer ce contrat de quelques mois (octobre 2017 à mars 2018). Grâce à l’aide précieuse de centaines de donatrices et donateurs, nous avons pu tenir notre engagement et publier la version bêta de PeerTube en mars 2018 (en respectant les délais, en plus !).

Depuis, les instances PeerTube ont fleuri. On compte aujourd’hui plus d’une centaines d’instances publiques déclarées (et sans doute bien plus non publiquement déclarées), hébergeant plusieurs milliers de vidéos !
Nous avons aussi pu éprouver sa robustesse lorsque nos amis de Datagueule ont publié leur film « Démocratie(s) » simultanément sur YouTube et PeerTube. Malgré des milliers de connexions, le logiciel a parfaitement tenu la charge. 🙂

Vers la version 1, et au-delà !

Cependant, force est de constater que PeerTube reste un logiciel encore non finalisé.
Par exemple la recherche n’est pas encore très fonctionnelle (si vous cherchez « Iinternet own boy » sur Framatube, aucun résultat n’est retourné, alors que si vous cherchez « internet’s own boy« , vous pourrez accéder à cet excellent documentaire sur la vie de l’hacktiviste Aaron Swartz).
PeerTube ne permet pas non plus encore d’intégrer un fichier de sous-titres à une vidéo, ou d’afficher son interface dans une autre langue que l’anglais, etc.
Bref, PeerTube fonctionne (bien), mais il reste encore de nombreuses améliorations à y apporter pour pouvoir le considérer comme une alternative sérieuse à YouTube.

Framasoft a donc fait le pari de prolonger le contrat de Chocobozzz jusqu’à la fin de l’année 2018, afin là encore de se donner les moyens d’atteindre son objectif, fournir une version 1 de PeerTube.

Mais là encore, se posait la question du financement de ce poste.

Comme nous avions déjà sollicité la communauté francophone (qui connaît plutôt bien l’association Framasoft et nous fait confiance depuis des années), nous ne souhaitions pas demander à cette communauté de mettre à nouveau la main au portefeuille.

Représentation d’instances PeerTube (CC by-sa – Association LILA)

 

Framasoft Need You!

Nous avons donc fait le choix de lancer une « classique » campagne de financement participatif. Mais de nous adresser avant tout au public non-francophone lors de son lancement.

En effet, les actions de Framasoft sont relativement inconnues à l’étranger. Évidemment parce que l’essentiel de nos travaux (maison d’édition Framabook, annuaire Framalibre, et bien entendu nos différents services libres de la campagne « Dégooglisons Internet ») sont publiés en français, mais aussi parce que nous communiquons et intervenons rarement à l’étranger (à quelques exceptions près).
Nous souhaitons donc, avec cette campagne, sensibiliser le public non-francophone, en l’informant de l’existence de PeerTube (qui n’est pas un vaporware  puisque déjà largement fonctionnel).

Par ailleurs, et de façon pas du tout anecdotique, nous souhaitons remercier l’association LILA qui, en parallèle de la réalisation de ZeMarmot (long métrage d’animation réalisé avec Gimp), a réalisé la magnifique animation que vous pouvez découvrir au début de cet article ou, bien entendu, sur la page de campagne. Cette vidéo a été réalisée uniquement avec des logiciels libres (Gimp, ça va de soi, mais aussi Synfig et Blender). Merci à Jehan et Aryeom pour leur colossal travail en un temps record ! N’hésitez pas à les remercier et à les encourager financièrement pour leurs travaux.

Notez que la vidéo est disponible sur Framatube (évidemment) afin de pouvoir la partager. Elle est naturellement sous licence libre (CC by-sa), ainsi que la musique (par Ken Bushima – CC by).

La page de la campagne en anglais est accessible ici : https://www.kisskissbankbank.com/en/projects/peertube-a-free-and-federated-video-platform/ (et en français ici : https://www.kisskissbankbank.com/fr/projects/peertube-a-free-and-federated-video-platform/ )

Le premier des trois paliers de la campagne de financement PeerTube (CC by-sa – Association LILA)

Comment nous aider ?

Vous pouvez bien évidemment participer financièrement à la campagne de financement participatif, mais si vous l’avez déjà fait fin 2017, vous aurez compris qu’on ne vous met pas la pression (d’autant que cette fois, il n’y aura probablement pas de défiscalisation possible).

Vous pouvez aussi nous aider à traduire certaines parties de la campagne, qu’il s’agisse de la page de campagne, de la FAQ, des sous-titres de la vidéo, ou du site joinpeertube.org, en vous signalant comme volontaire sur notre forum.

Nous sollicitons surtout votre aide pour partager l’information sur les médias sociaux (libres ou non), en utilisant si possible le hashtag #joinpeertube !

Si vous avez un oncle d’Amérique, une tante en Australie, une cousine au Chili, ou un frère en Allemagne, lui signaler l’existence de PeerTube nous serait d’une grande aide pour faire découvrir ce projet qui nous semble essentiel pour l’émancipation de toutes et tous.

 

Joinpeertube – Cliquez pour accéder à la page de campagne




Storify est mort. Longue vie à…

Storify.com, service bien pratique qui permet de construire des histoires sous forme de pages web, à partir d’éléments divers (textes, tweets, vidéos, etc), fermera ses portes le 16 mai 2018. Framasoft, accompagné par d’autres acteurs, met à disposition une pré-version d’un logiciel permettant à des millions d’utilisateurs et utilisatrices, de ne pas rester sur le carreau.


Le jour où tout s’est arrêté

C’est l’histoire d’un tweet qui croise un autre tweet.

Au premier coup d’oeil, c’est l’amour, ils décident de vivre ensemble. Rien de trop ronflant au début, un petit fil sur Twitter ira bien. Mais la relation s’épanouit et ils décident un beau jour de sauter le pas, d’officialiser leur union : ils veulent vivre ensemble pour le reste de leurs jours et s’afficher au grand jour, pas juste auprès de leurs copains sur Twitter.

Comment faire ?

Storify ! Les deux tweets peuvent vivre au chaud sous un joli toit commun, avec pignon sur rue, et même inviter leurs amis… Enfin une vie hors de Twitter ! Tous les internautes peuvent désormais les trouver facilement, la maison est agréable à vivre, une unité, une esthétique… et pour ne rien gacher, le loyer est gratuit. Imaginez un peu ça : chauffage inclus, été comme hiver, tout ça pour que vos gazouillis un peu fouillis ne finissent plus en vague bouillie dans le Cyber-oubli… mais qu’ils soient lus et relus pour toute l’éternité !

Storify - Esther Vargas - CC-by-sa 2.0
Storify – Esther Vargas – CC-by-sa 2.0

Enfin presque.

Car l’éternité se raccourcit : le propriétaire du lotissement annonce qu’il vend tout. Adieu veau, vache, cochon, couvée de tweets… il va falloir trouver ailleurs où se loger. Storify ferme.

Le jour où tout a recommencé

C’est l’histoire d’un autre tweet, celui de Silvère Mercier, qui réagit à cette annonce:

Framasoft, qui passait par là, propose de « voir ce qui existe dans le libre » et de créer un « commonstory » : une sorte de lotissement en co-gestion où les murs appartiendraient à tout le monde.

Yannick François, qui passait aussi par là, mets la DINSIC dans le coup en lui faisant le joli compliment d’être un peu « les framasoft de l’état » (sic). Mais au fait, c’est quoi la DINSIC ? C’est la « Direction interministérielle du numérique et du système d’information et de communication de l’État » – merci Wikipédia ! Oui… mais encore ? Eh bien c’est un peu la DSI des DSI ministérielles, la direction qui anime la transformation numérique de l’État, et la politique d’ouverture des données publiques est portée par l’une de ses missions, Étalab. D’accord… mais quel rapport avec le logiciel libre? C’est simple : depuis la loi pour une République numérique de 2016, les logiciels produits par l’administration publique sont des documents administratifs qui doivent être « ouverts par défaut », ou « open source par défaut », comme l’explique très bien Lionel Maurel. (Si vous n’avez pas encore senti que mon ton devient corporate, ça ne saurait tarder : je travaille en ce moment pour la mission Étalab de la DINSIC.)

Et donc Henri Verdier, qui dirige la DINSIC, répond… « Go ! » et met Laurent Joubert sur le coup pour suivre le dossier.

Quelques semaines plus tard, nous nous retrouvons dans le bureau de Laurent avec Silvère, Pierre-Yves, Thomas Citharel (développeur chez Framasoft) et moi-même, fraîchement embarqué dans le programme Entrepreneur d’intérêt Général (EIG). Nous faisons un point sur le travail de Thomas qui a déjà développé un prototype nommé « Storia » permettant de créer un compte et de sauvegarder les « stories » de feu Storify.com. Il manque la peinture et le chauffage, mais c’est un super début, nous décidons de repartir de là.

Voici les besoins dont Thomas nous fait part : rencontrer de vrais utilisateurs, travailler sur le design, anticiper l’évolution et la maintenance du projet pour la suite.

Comment faire ? Nous proposons de faire un garagethon.

– Un quoi ?!

Un garagethon ! C’est comme un hackathon sauf qu’on travaille pour de vrai et que le nombre de personnes est limité au nombre de celles qui tiendraient dans un garage, soit une douzaine. (Toute ressemblance avec cette vision de quelques « gus dans un garage » n’est pas fortuite.)

Nous voici donc partis pour l’organisation d’une journée le 30 mars. Nous mobilisons nos contacts : Silvère pour trouver des utilisateurs aguerris, Thomas pour contacter des développeurs Elixir, le langage dans lequel est développé la partie serveur du projet, Pouhiou pour trouver des concepteurs UX/UI et des graphistes, moi-même pour mobiliser des volontaires du programme EIG qui s’intéresseraient à VueJS pour le développement de l’interface Web.

Le jour du Garagethon

Nous passons notre garagethon dans les locaux du Liberté Living Lab, nous avons pu y réserver une salle pour toute la journée. La salle est spacieuse et agréable, avec un espace à l’écart pour ceux qui souhaitent travailler en petit groupe.

Nous voici donc dans notre « garage » : Arnaud Rachez (datascientiste, EIG), David Panou (datascientiste, EIG), Gaël Dauvillier (BPI), Isabelle Degrange (BnF), Jean-Baptiste Le Dévéhat (concepteur UX/UI, EIG), Laurent Joubert (DINSIC), Louis Vinet (concepteur UX/UI), Silvère Mercier (ex-BPI), Tam Kien Duong (DINSIC), Thomas Citharel (développeur, Framasoft), Tristram Gräbener (ex-EIG, Codeurs en Liberté), Vincent Lara (Codeurs en Liberté), Xavier Damman (à distance, Open Collective).

Nous commençons la matinée par des présentations rapides, puis nous nous attaquons illico à l’exploration de storify.com, en tâchant d’expliciter nos besoins et notre expérience en tant qu’utilisateurs.

Ensuite, Thomas nous fait un point sur le prototype qu’il a développé, et nous commençons à y projeter les besoins évoqués plus tôt.

Après quelques pizzas bien méritées, nous avons une longue et intéressante entrevue à distance avec Xavier Damman, fondateur de Storify actuellement investi dans le projet Open Collective, dont le but est d’aider des projets ouverts à assurer leur financement… collectivement. Cet entretien permet de mettre le doigt sur des aspects structurants pour le projet qui nous occupe :

  • l’importance du nom (le premier nom était PublicTweet, nettement moins bon…) ;
  • l’importance du design : c’est un élément dont Xavier nous dit qu’il l’a sous-estimé au début ;
  • l’importance du juste degré de liberté accordé à l’utilisateur : il est tentant d’ajouter plein d’options (par exemple pour la mise en page) mais attention à ne pas retarder le moment de satisfaction de l’utilisateur.

Après cette entrevue captivante, nous nous répartissons en groupes : certains pour travailler sur des maquettes, d’autres sur l’exploration du code, d’autres encore sur la création d’éléments de documentation et d’un mini-site pour le projet, etc.

Maquette pour la création d'une liste pour Storia
Maquette pour la création d’une liste pour Storia, © Louis Vinet

Le jour d’après

Et maintenant ?

Aujourd’hui, Framasoft annonce la sortie d’une version beta (= « en travaux ») de Framastory, un service pour vous permettre de sauvegarder vos anciennes Stories, destiné à évoluer avec vos retours, vos contributions. Attention : peinture fraîche ! Le calendrier nous presse car le site storify.com ne sera plus accessible à partir du 16 mai. Prenez bien note que pour l’instant, l’énergie a été concentrée sur le fait que vous puissiez importer vos stories existantes depuis Storify dans Framastory. La création de stories/picks dans Framastory est possible, mais encore très très largement « en travaux ». Les fonctionnalités et l’interface seront améliorées dans les semaines et mois qui viennent, mais Framasoft préfère publier le logiciel immédiatement, afin d’éviter aux utilisateurs et utilisatrices de Storify de perdre les heures passées à bichonner leurs stories.

 

Insérer un tweet dans une story, sur Framastory.org
Insérer un tweet dans une story, sur Framastory.org

 

D’autre part, Thomas Citharel publie un nouveau logiciel nommée PickWeaver, qui est le logiciel faisant tourner ce nouveau service.

Page d'accueil du logiciel PickWeaver
Page d’accueil du logiciel PickWeaver

PickWeaver est en version beta : comme pour tous les projets de Framasoft, les contributions sont les bienvenues !

Voici comment vous pouvez aider :

Voilà. À vous de jouer ! Découvrez la nouvelle version d’un service de curation qui vous a été indispensable ou un nouveau service qui vous sera sûrement utile. Partagez avec nous les idées que vos avez pour rendre ce projet viable sur le court, le moyen, le long terme.

J’en profite ici pour remercier chaleureusement tous les participants de ce premier garagethon : l’ambiance était à la fois conviviale et productive, cela laisse augurer de belles choses pour la suite. Mention spéciale à Laurent Joubert qui nous a sustenté le midi.

Et n’hésitez pas à nous rejoindre si vous voulez contribuer.

Ce n’est qu’un combat, continuons le début !




Mon CV ? Il est hébergé par Framasoft !

Les Pages Framasite évoluent encore. Robin, l’infatigable développeur de Pretty Noémie CMS, a ajouté des fonctionnalités pendant qu’on ne regardait pas. C’est le moment de refaire votre CV.

Depuis que nous avons annoncé les pages Framasite, l’outil a été adopté, et a évolué au fil de vos retours.

Une petite liste à la Prévert ?

Des modules supplémentaires !

  • Module agenda avec une insertion de votre Framagenda ou Google agenda (oui, si vous n’avez pas encore dégooglisé votre vie, c’est pas grave, on vous accepte)
  • Module réseaux sociaux (et même ceux qu’on n’aime pas)
  • Module lecteur audio (SoundCloud) si vous souhaitez faire le site de votre groupe de musique

  • Module avec lecteur vidéo et vidéo d’arrière plan

  • Un formulaire d’initialisation pour installer votre site sur un serveur personnel
  • Module de code avec coloration syntaxique, comme les pros

 

Du zouli design !

  • Redimensionnement d’images
  • Bouton « haut de page »
  • La page d’accueil est encore plus cool
  • Le menu réapparaît lorsqu’on scrolle vers le haut
  • Une version mobile pour le menu
  • Les fenêtres sont plus sympas (il y a eu un coup de main d’un designer)

On va glisser sur les nombreuses corrections de bugs.

Un tuto vidéo pour faire son CV

Et comme il restait du temps, hop, Robin a concocté une petite vidéo pour fabriquer son CV sur Framasite.

 

Vous pouvez le mettre sur un média social propriétaire appartenant à un GAFAM, hein. No problemo. C’est cool.

Mais bon, votre CV hébergé par Framasoft, ça fait toujours son petit effet :p !

 

Pour aller plus loin & contribuer :

 




Framaclic, un nouveau service qui compte

Vous avez besoin de compter les visites sur vos sites sans fliquer vos visiteureuses ? On a un framachin pour vous !

Prenons un exemple rapide. Fred aime bien pondre des textes et il les sème un peu partout sur le vaste Ouèbe.

Cela lui pose deux problèmes.

Ses textes sont sur des sites différents avec parfois des adresses web (ou « URL ») longues comme un jour sans pain. Mais pour ça il a trouvé la parade, c’est frama.link, le raccourcisseur d’URL de Framasoft. Il a créé une adresse courte pour chacun de ses textes, et quand on lui demande où on peut lire sa prose, il donne cette URL plutôt qu’une adresse de 256 caractères biscornus. Pour avoir des adresses web encore plus courtes, il pourrait utiliser https://huit.re/.

L’autre souci de Fred, c’est qu’il est affreusement cabotin. Il écrit pour le plaisir, il publie sous licence libre, il a compris qu’il ne bouclerait pas ses fins de mois grâce à sa plume, mais il ne peut pas s’empêcher de se demander si quelqu’un⋅e lit réellement ce qu’il commet.

Fred est donc tout content quand Framasoft sort Framaclic (bon, il ne fait pas des triples saltos, mais il a un moment de jubilation).

C’est quoi ?

Zag, l’adorable mascotte de Dolomon

Framaclic est un raccourcisseur d’URL qui compte les clics. Voilà. Dit comme ça, on dirait que c’est drôlement simple, non ?

Eh bien, bonne nouvelle : c’est simple !

Bon, soyons justes, Frama.link avait déjà un compteur, rudimentaire. Il reconnaît l’auteur de l’URL courte via un petit cookie et est capable de lui fournir un comptage des clics. Seulement, ça ne marche que depuis l’ordinateur et le navigateur sur lesquels l’adresse courte a été créée (à cause du cookie).

« Framaclic est un frama.link dopé aux stéroïdes », nous dit Luc, l’auteur de l’application (qui développe aussi parfois des petites applis complètement inutiles donc parfaitement indispensables).

Comment ça marche ?

Framaclic est basé sur Dolomon, comme DOwnLOad MONitor. Pas besoin d’avoir fait anglais première langue pour piger ça.

Fred se rend sur framaclic.org. Il crée un compte avec un mot de passe, histoire d’être seul à pouvoir accéder à ses statistiques (des fois qu’elles soient mauvaises).

Il fait une liste des adresses de toutes les ressources vers lesquelles il veut créer un lien : ses textes, son blog, son CV, ses galeries de photos, une BD de Simon qu’il adore partager avec ses collègues… Si la liste n’est pas exhaustive, ce n’est pas grave, il pourra en ajouter par la suite.

Comme il aime bien que les choses soient correctement rangées (rappel : cet exemple est une fiction), il crée des catégories et des étiquettes pour s’y retrouver. Surtout qu’il se dit que ce truc-là va drôlement lui rendre service et qu’il va finir par y mettre beaucoup d’adresses.

Ensuite, pour chaque adresse longue il en génère une courte (un « dolo »). Pas besoin de la conserver, Framaclic s’en charge.

 


Les dolos sont créés au fur et à mesure.

Pour suivre les visites sur une page précise, Fred peut créer un dolo pointant sur une petite image transparente (Dolomon vous en propose une) et insérer l’URL générée, comme on insère une image, dans sa page.

Fred aime surtout créer des dolos qui pointent sur un document, au lieu de la page web. Par exemple, un dolo pour le pdf de son roman (http://framabook.org/docs/vieuxflic/FredUrbain_VFVV_cczero20151108.pdf au lieu de la page générique https://framabook.org/vieux-flic-et-vieux-voyou/), un autre pour la version e-pub, et encore un pour le code source en Latex. De cette façon, Fred saura quelle version est la plus téléchargée.

Mais il ne saura rien de plus : Framaclic n’enregistre que des statistiques anonymes, pas les adresses IP des visiteureuses.

Par contre, cela fait de beaux graphiques :

Et comme vos données vous appartiennent, vous pouvez les télécharger dans un fichier CSV, ce qui vous permettra de les manipuler à votre guise, de faire des camemberts colorés…

Ah, un dernier truc cool à savoir : Luc a fait un plugin Dolomon pour WordPress. Si vous avez un blog, vous pourrez créer vos dolos directement depuis votre article.

Contribuez

Comme tout logiciel qui n’a pas encore subi l’épreuve du feu (enfin, l’épreuve de l’utilisation massive), Dolomon comporte certainement quelques bugs ou nécessite un petit coup de polish pour en améliorer l’ergonomie : n’hésitez pas à contribuer en ouvrant des tickets !

Nous tenons au passage à lever notre chapeau à Luc, alias Framasky notre infatigable admin-sys, qui a codé Dolomon pour nos besoins internes, et l’a amélioré afin que l’on puisse l’ouvrir au public ;).

Pour aller plus loin