Framasoft.org : un site en cohérence avec qui nous sommes et ce que nous faisons
« Ah oui, Framasoft, je connais, c’est les framatrucs ! ». Alors oui, mais pas que. Ces dernières années, notre association a évolué en affirmant ses positions et en étendant ses actions. Il était temps de rendre notre projet associatif clair, fluide et facilement compréhensible. Et quoi de mieux pour cela qu’une refonte de notre site internet principal framasoft.org ? C’est parti pour la visite !
« Collectivisons Internet / Convivialisons Internet 🦆🦆 »
Les actions de notre nouvelle feuille de route étant financées par vos dons (défiscalisables à 66 %), vous pouvez en trouver un résumé complet sur le site Soutenir Framasoft.
Cette publication est particulièrement importante pour nous : elle clarifie notre raison d’être, le cadre de nos actions et les valeurs qui nous poussent à agir.
En cours de route, nous nous sommes dit : « Et si on faisait en sorte que les intentions du manifeste se comprennent dès l’arrivée sur framasoft.org ? ». C’est avec cette idée en tête que nous avons construit ce nouveau site.
Pourquoi nous faisons tout ça ?
Ce qui nous motive (changer le monde pour plus de justice sociale !), pour qui nous le faisons (celles et ceux qui veulent aussi de ce monde meilleur) et qui nous sommes (une petite association, un groupe d’ami⋅es), c’est en fait essentiel pour bien comprendre notre projet associatif. Alors on le précise !
C’est pas un peu politique ?
La politique, dans son sens premier, désigne ce qui est relatif à l’organisation d’une cité. Vouloir changer notre monde actuel pour un monde meilleur, où les Communs sont favorisés, où la justice sociale est une base, où les libertés sont préservées, c’est politique ! L’élaboration de notre manifeste nous permet de mettre en avant une évidence : notre projet associatif est politique.
Remise au point de certaines idées reçues
Framasoft est une petite association, qui n’est pas neutre (et ne souhaite pas l’être), et qui dépend de vous, de vos dons. Cela n’est pas toujours connu par nos bénéficiaires, et le rappeler est toujours utile. On en profite pour glisser une vidéo qui parle un peu plus de l’association. En images, c’est quand même plus sympa !
L’étendue de nos actions éclaircie
En 2021, notre objet social a évolué. Nous sommes passés « d’association de promotion de la culture libre en général et du logiciel libre en particulier » à une « association d’éducation populaire aux enjeux du numérique et des communs culturels ». Réfléchir et mettre en place des actions qui facilitent l’émancipation des citoyens et citoyennes, c’est notre objectif, et les actions qui en découlent peuvent prendre différentes formes, que l’on voulait rendre visibles.
Montrer nos différents axes d’action
Depuis quelques mois, nous présentons ce que nous faisons en 3 catégories : l’éducation populaire, l’émancipation numérique et l’archipélisation. Cette catégorisation nous permet de mieux expliquer nos actions : nous avons ainsi créé des sous-pages, permettant de rentrer dans le détail.
Des exemples concrets, ça parle toujours plus que de longs discours. La page d’accueil est parsemée d’actions concrètes que nous menons : services en ligne, exemples de communs culturels auxquels nous avons contribué ou encore articles et conférences que nous avons réalisées.
Trouver ce que nous disons et où nous retrouver
Du contenu que l’on peut actualiser pour rendre le site plus « vivant » ? Nous, on dit oui ! Que ce soit une actualité mise en avant, la vidéo d’une conférence ou des articles de blog dernièrement publiés : nous allons pouvoir faire de notre site internet une vitrine régulièrement renouvelée, pour exposer ce qui se passe dans l’association.
Nous avons aussi envie de mieux valoriser nos participations à différents événements. Après quelques réflexions, il nous a semblé plus que judicieux d’utiliser le logiciel de gestion de groupes et d’événements que nous développons, Mobilizon, pour valoriser nos interventions. Nous avons ainsi mis en place un groupe sur notre instance Mobilizon.fr, où nous ajoutons au fur et à mesure les prochains événements auxquels nous participerons. Nous avons ensuite relié ces événements à notre nouveau site internet : tadaaa, la partie « On se voit bientôt » s’actualise « toute seule ». Pratique, non ?
Nos actions réalisables grâce à vos dons
Dès le haut de page, nous avons voulu mettre en avant que si tout cela est possible, c’est bien grâce à vous, grâce à vos dons. Le budget de notre association repose en effet à plus de 98% sur des dons (dont 86% sont des dons de particuliers). En bas de page, un formulaire de dons permet d’apporter plus de précisions (quelques chiffres, comment nous utilisons les dons et des réponses à des questions plus générales).
Tout comme nos actions ont évolué ces dernières années, notre image a, elle aussi, quelque peu changé. Entre 2014 et 2016 (lors du lancement de la campagne « Dégooglisons Internet »), nos illustrations étaient plutôt humoristiques, voire satiriques, notre but étant de dénoncer les dérives des géants du web (vous trouverez quelques archives par ici).
Depuis 2017 (avec le lancement de Contributopia), nous avons commencé à travailler avec David Revoy, dans un univers plus poétique. Nous avons, au fil des années, poursuivi cette ligne plus optimiste, où nous voyons qu’une co-construction est possible. Nous voulons montrer des imaginaires où nous ne nous prenons pas au sérieux, où nous essayons des choses et où nous avons le droit à l’erreur. Quelque chose qui représente aussi nos valeurs, quoi !
Une mise en pratique progressive
L’année dernière, nous avons entamé une grande mise à jour des pages d’accueil de nos services en ligne. Le but ? Comprendre rapidement comment accéder au service, informer de ce qu’il fait, ses conditions, et préciser qui est derrière tout ça… tout en actualisant la page à notre image.
Nous avons ensuite entamé un travail de mise à jour de nos contenus imprimés (que vous pouvez retrouver par ici) et l’identité visuelle de Framasoft s’est peu à peu peaufinée : couleurs, illustrations, polices… Nous avons recherché plus d’unité dans nos différents supports pour mieux nous représenter.
Nous avons ensuite, durant l’été, remis en beauté notre site degooglisons-internet.org. Un nouveau pas pour appliquer l’évolution de notre image à nos outils en ligne.
C’est maintenant la figure de proue de notre association, framasoft.org que nous avons mise à jour, en reprenant tous ces éléments qui nous représentent plus sincèrement. De quoi mieux comprendre ce que fait, ce que veut mais aussi qui est cette association Framasoft.
Un travail à plusieurs mains
Nous avons fait à nouveau appel à Marie-Cécile Godwin pour travailler la trame de la page d’accueil, et nous permettre d’y intégrer le manifeste (et que nos valeurs puissent transparaître entre les lignes). Notre équipe salariée s’est mobilisée pour rendre tout cela pertinent, agréable à utiliser, et agréable à regarder tandis que l’équipe bénévole s’évertuait à peaufiner et préciser notre manifeste.
On espère que le site vous sera utile, que ce soit pour chercher du contenu, comprendre ce que l’on fait ou creuser certains sujets. En tout cas, on prend le temps de vous remercier encore une fois de votre soutien, qui a rendu cette refonte possible !
À l’heure où nous publions ces lignes, nous estimons qu’il nous manque 184 500 € pour boucler notre budget annuel et nous lancer sereinement dans nos actions en 2023.
Si vous le pouvez (eh oui, en ce moment c’est particulièrement compliqué), et si vous le voulez, merci de soutenir les actions de notre association.
Comment migrer son frama.site avant la fermeture du service le 6 juillet prochain ?
Nous avons annoncé pour le mardi 6 juillet 2021 la fermeture du service https://frama.site/. Pour rappel, frama.site héberge à la fois des sites (logiciel PrettyNoemieCMS), des blogs (logiciel Grav) et des wikis (logiciel Dokuwiki). Afin que les utilisateur⋅ices de ce service puissent continuer à héberger leurs sites et wikis, nous avons cherché si d’autres hébergeurs proposaient ce service.
Afin que vous puissiez choisir en toute transparence l’offre qui vous correspond le mieux, on s’est dit qu’il n’y avait rien de mieux à faire que d’interviewer ces structures afin qu’elles vous en disent plus sur qui elles sont, comment elles fonctionnent et qu’elles détaillent leur offre de migration.
Interview de Thomas Bourdon, de Bee-Home
Bonjour Thomas. Peux-tu te présenter ?
Je suis Thomas Bourdon, 38 ans, habitant dans l’Aisne, passionné d’informatique depuis toujours et utilisateur de GNU/Linux (et autres logiciels libres) depuis 2001. Mais ce n’est qu’en 2007 que j’ai réellement compris l’éthique du logiciel libre et du fonctionnement décentralisé (ou acentré) d’Internet. Depuis j’ai commencé à monter mes propres services à la maison (auto-hébergement) pour moi-même puis pour mes proches, et finalement pour des petites structures.
Tu nous parles de Bee-Home ? C’est quoi ? C’est qui ? Comment ça marche ?
Comme j’hébergeais de plus en plus de services pour de plus en plus de monde, il était temps que je quitte ma petite connexion ADSL pour prendre un serveur (puis deux) en datacenter. Comme je ne souhaitais pas payer de ma poche ces serveurs, j’ai décidé de monter l’auto-entreprise Bee Home dans ce but. Ce choix est aussi guidé par le fait que les structures que j’héberge ont besoin d’avoir des factures « officielles » et ne peuvent pas faire de don financier.
Les services que je fournis sont essentiellement du cloud – avec le logiciel Nextcloud (synchronisation de fichiers, agenda, carnet d’adresses, suite bureautique collaborative, discussion par texte ou visio et mail) – et l’hébergement de sites web. Pour cela je propose plusieurs outils que je maintiens (sauvegarde, mise à jour). Ainsi l’utilisateur·ice ne s’occupe que de publier du contenu. Évidemment il ou elle peut récupérer sur simple demande l’intégralité de son site pour l’héberger ailleurs par exemple.
Tous ces services sont payants et permettent aux utilisateur·ices d’avoir leur propre nom de domaine (sauf forfait de base) dont le coût est inclus dans le forfait. Même si je propose des forfaits pré-établis, il est tout à fait possible d’adapter le service et le tarif au besoin de la personne ou structure. Pour cela, il suffit de me contacter.
Bee-Home offre donc la possibilité de migrer son frama.site sous Grav / Dokuwiki. Ça se passe comment ? Ça coûte combien ?
J’ai décidé de proposer ce service gratuitement sans durée limitée sur simple demande. En revanche, j’impose un quota maximum de 500Mo d’espace disque. Au-delà de ce quota, je proposerai un tarif adapté. Chaque site sera accessible via une adresse se terminant par bee.wf (mon-site.bee.wf par exemple). Il est bien sûr possible d’utiliser son propre domaine pour celles et ceux qui en possèdent un.
Pourquoi ne pas permettre la migration des framasites réalisés avec le logiciel PrettyNoemieCMS ?
J’expliquais que je propose de maintenir moi-même les outils utilisés (WordPress, Grav, Dotclear, Piwigo…) pour les sites hébergés. C’est pourquoi je ne propose que des outils activement maintenus afin d’éviter l’usage d’outils obsolètes pouvant contenir des failles de sécurité qui ne seront jamais corrigées. PrettyNoemieCMS est justement un outil non maintenu, voilà pourquoi je ne le propose pas. Si un·e utilisateur·ice l’utilise, je peux toutefois proposer un hébergement sous Grav dans les mêmes conditions. Bien sûr il ou elle sera contraint de refaire son site entièrement.
Bee-Home fait partie du collectif CHATONS depuis fin 2018. Pourquoi avoir rejoint le collectif ?
D’une part parce que je partage complètement les valeurs de ce collectif, et d’autre part parce que cela m’a toujours plu de gérer et de proposer de l’hébergement de services.
Interview de l’équipe du directoire de Ouvaton
Bonjour l’équipe du directoire. Pouvez-vous vous présenter ?
Bonjour.
Nous sommes 3 personnes au « directoire » d’Ouvaton, actuellement :
– Claire, présidente, qui fait de l’informatique depuis le début des années 80 et chez Ouvaton depuis le début en 2001
– Matthieu, aussi informaticien et chez Ouvaton depuis 2006
– François, commercial, qui fait lui aussi de l’informatique, et chez Ouvaton depuis 2017
Vous nous parlez de Ouvaton ? C’est quoi ? C’est qui ? Comment ça marche ? Ouvaton a été créée en 2001, sous la forme d’une société anonyme « coopérative de consommation ». Cela veut dire que nos coopérateurs sont co-propriétaires et co-entrepreneurs de la coopérative. Grâce à cette structure, les utilisateurs sociétaires sont réellement des hébergés-hébergeurs. Donc Ouvaton, c’est plusieurs milliers de personnes qui décident. Et dans les faits, plusieurs dizaines qui ont « les mains dans le cambouis » au quotidien !
La coopérative se base sur un certain nombre de valeurs, que nous donnons sur notre site. Pour résumer à grands traits : indépendance et coopération, démocratie et protection de la vie privée.
Ouvaton fonctionne autour :
d’un conseil de surveillance de 9 membres élus pour des mandats de 3 années par l’Assemblée Générale
d’un directoire dont les membres sont nommés, pour des mandats renouvelables de 3 ans, par le conseil de surveillance
Nous essayons aussi, dans la mesure des moyens de chacun, d’impliquer au quotidien un maximum de coopérateurs. Aucune obligation, mais une participation de chacun selon ses moyens (et ses envies !). Il y a toujours des chantiers en route dans un collectif comme Ouvaton et chacun peut y trouver sa place. Les Assemblées Générales sont l’occasion de présenter chaque année aux sociétaires l’état de la coopérative et de mettre aux votes les grandes orientations proposées par le conseil de surveillance et le directoire.
Ouvaton offre donc la possibilité de migrer son frama.site sous Grav / Dokuwiki. Ça se passe comment ? Ça coûte combien ?
Il faut commencer par créer son compte chez Ouvaton, sur notre interface de gestion Ouvadmin. L’adresse du site pourra être en *.ouvaton.org (https://monsite.ouvaton.org par exemple), et l’utilisation de son propre nom de domaine est bien sûr possible.
Notre documentation explique la procédure à suivre pour exporter puis importer son Framasite chez Ouvaton, et notre équipe d’assistance est là pour accompagner les utilisateurs en cas de difficultés.
Pour le prix, ce sera 12€ TTC la première année, et après ce sera 42€ TTC par an (le tarif « normal »). Ce tarif inclut des mails, de l’espace disque… On réfléchit sérieusement (et collectivement) à faire évoluer nos tarifs pour plusieurs offres selon les besoins. Pour ceux qui veulent vraiment rejoindre l’aventure, ils peuvent bien sûr devenir coopérateurs. La part sociale est à 16€ et permet d’être coopérateur « de plein droit ».
Pourquoi ne pas permettre la migration des framasites réalisés avec le logiciel PrettyNoemieCMS ?
Malheureusement ce logiciel n’est plus maintenu. Nous préférons nous concentrer sur Grav et Dokuwiki, qui disposent de solides équipes de développeurs pour les faire évoluer. Mais les personnes qui utilisent encore PrettyNoemieCMS peuvent reconstruire leur site sur un autre CMS aux mêmes conditions.
Je lis sur votre site web que vous comptez candidater pour rejoindre le collectif CHATONS fin 2021. Pourquoi souhaitez-vous rejoindre le collectif ?
Les valeurs affichées par le collectif sont concordantes avec les nôtres, nous avons donc souhaité le rejoindre au plus vite. Mais nous devons dans un premier temps assainir notre plateforme de quelques logiciels propriétaires qui étaient utilisés par notre ancien infogérant. C’est une tâche assez lourde qui, en plus du travail technique, a nécessité de nombreux échanges au sein de notre équipe. Nous sommes épaulés dans cette tâche par la super équipe de Octopuce, notre nouvel infogérant. Le train est en route et nous devrions pouvoir présenter notre candidature fin 2021 pour rejoindre les CHATONS.
Que vous utilisiez les services de frama.site ou que vous souhaitiez vous créer un nouvel espace sur internet, Framasoft vous encourage donc à aller étudier de près les offres de Ouvaton et Bee-Home.
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.
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.
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.
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.
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.