A new application for Framaspace : OwnershipTransfer

Still more features on Framaspace? Yes! At the moment, we’re spoiling the users of this service, with the integration of quite a few features like the Forms and Tables applications, but also the ‘Intros’ app developed by Val, our summer intern. And because it’s Val, it’s festival (shameful rhyme!): just before leaving us for a well-deserved holiday and a final year of studies, he delivered a new ‘Ownership Transfer’ application that will make life easier for administrators of Framaspace spaces.

 

 

Hi Val, we’re not going to ask you to introduce yourself, as you already did in the previous interview. We’ll just remind you that you’re doing an internship at Framasoft from the beginning of May to the end of August 2024, with the aim of developing tools to support Framaspace, and therefore Nextcloud free software.

Hi! Check out my previous interview to find out more about me! I introduce Intros, a Nextcloud app to help users get to grips with Framaspace.

At the end of the interview, I mentioned I was working on another Nextcloud app, OwnershipTransfer. Back then things were only getting started, but I cooked, and now it’s ready.

OK, so let’s talk about the OwnershipTransfer App. What’s it for ? Who is the target audience ?

As mentioned in the previous article, OwnershipTransfer makes it possible to transfer data from one user to another in Nextcloud. For example, when someone leaves an association that uses Nextcloud (say, on Framaspace 😏), it can be useful to move their files to another user before deleting their account. You could avoid losing important archives, invoices… The same goes for calendars or address books.

Well worry no more, OwnershipTransfer (or « OT » from now on in this article) does all that. It allows Nextcloud admins to transfer data from whoever to whoever. Initially mostly designed for files, I extended it to calendars and contacts transfer.

OT allows a transfer of all the data, but also a more fine-grained choice. One can choose the calendar, address book or folder they want to transfer, so they don’t end up with someone’s holidays pictures in their files.

#gallery-1 { margin: auto; } #gallery-1 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-1 img { border: 2px solid #cfcfcf; } #gallery-1 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

 

But… didn’t this feature already exist in Nextcloud ?

It did, but not the way we wanted it to.

Nextcloud already allows transferring your own files to another user, with a small graphical interface in the user settings section. You can only transfer your own files to another user, but not choose a source user: this isn’t suitable for an instance admin who would want to move files from one user to another.

An instance admin can also transfer files or calendars from one user to another, with an OCC command. OCC is Nexctloud’s CLI, via which admins can handle some server settings. You can only use it from the command line in a terminal, which to most human beings is… cryptical.

In short there are existing working solutions, but not with a simple graphical interface for admins. This is especially an issue in « Nextcloud farms » (an organization hosting Nextcloud instances for a lot of clients at once) like Framaspace, because admins don’t have access to the CLI in this case.

 

Technically, how does it work ?

Since it’s integrated with other Nextcloud apps, OT is heavily relying on existing Nextcloud APIs. The app also uses adapted parts of Nextcloud’s code. For example, I use the code from the existing files transfer feature, which I modified to fit with our requirements. The same goes for the calendar transfer.

However, I add to implement the contacts transfer, since it is not available in Nextcloud (not even through a cryptic CLI). It looks a lot like the calendar transfer, since both of them are based on the WebDAV protocol, so I had an example to work with.

The interface is built with Nextcloud’s Vue components, of course. They are pretty pleasant to use, and new ones are often released. It allowed me to build a complete graphical interface in no time, while staying consistent with the rest of Nextcloud’s UI.

 

Have you encountered any technical or organisational problems?

Since Nextcloud’s documentation hasn’t miraculously grown since last time, I had to wander around in Nextcloud’s source code to find the functions needed. I could almost make a hobby out of that. Almost.

At least the features exist in Nextcloud already, so adapting them wasn’t the most difficult thing ever. I could also rely on tcit’s advice, co-director of Framasoft and Nextcloud contributor. In short: I write code, he looks at it, says « cool thing, but not scalable », and I correct it.

Scalability was the most common problem. It always works on my small test environment with 5 accounts and 7 folders, but it should also (and most importantly) work on big Nextcloud instances with lots of files. For example, the files transfer can take a lot of time and resources: it has to move all the files from the source to the destination folder, which takes more or less time depending on the amount of files to move and the underlying storage type. Because of that, it is handled in the background: instead of launching it upon receiving the request, it is placed in a jobs queue that the server periodically handles.

Calendar and contacts transfers do not have this issue: they only consist of a simple SQL query to change the right property on the right element. This operation is fast, so it can be handled in the foreground.

Besides the actual transfer, building the interface was also challenging. The app allows the admin to choose which element will be transferred, so they need an interface to choose it. For calendars and contacts, it’s fairly simple: with Nextcloud’s components, I could easily build a list of calendars or address books. But for files, things are getting complicated: we need a whole tree-style view to show the subfolders’ content.

Luckily, I’ve got back up. Romain, former fellow INSA Lyon student (in Telecom, just like me!) and former Framasoft intern, worked on Sorts a few years ago. The goal was to make an app to enhance Nextcloud’s file search, mostly with filters. And Sorts has something I was really interested in: a tree-style files view. Exactly what I needed.

#gallery-2 { margin: auto; } #gallery-2 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-2 img { border: 2px solid #cfcfcf; } #gallery-2 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

After a few tweaks here and there in Sorts’ code, which wasn’t necessarily easy, its tree-style view perfectly integrated with OwnershipTransfer. It helped a lot and saved a lot of dev time, and I could even improve it a bit with some lines to better view the current folder and some sharing icons.

 

Now that your internship is coming to an end, and you’ve been « eating » some Nextcloud for the past 6 months, what are your potential takes on this software ?

It’s rant time!

Anyways, besides the rant and all the things I could blame on Nextcloud (like its lightweight documentation, its occasional slowness or its imperfect UI), its a very functional software, and it’s all that matters for pretty much everyone. It could be better (and it’s already happening!), but I find it to be working just fine for most typical usages. I’ve been using it for 2 years on a Raspberry PI to backup my files and photos, and I’ve never had any major issues with it.

However, its collaborative features can definitely get better (things like multiple people writing on the same text or calc document at the same time), especially since they are very popular among the people who use Nextcloud. These features exist, but they are typically hard to use, especially the first time, and poorly optimized. So when I see Nextcloud bragging about how they now have AI integrated (which I think most people don’t find that useful anyway), while opening a shared file sometimes still causes a mess… I think they could focus on more important things. But I guess you do need something to make it look shiny.

 

We’ve been very very pleased and satisfied to work with you over the last few months! Any final words?

I was delighted to work at Framasoft! I’ve learned a lot through this internship, and I want to thank the association again for its welcoming and comfortable working conditions.

Right now it’s time to relax, for me at least (before going to « class » again, but don’t mention it), and then to go back to work on my final internship at the beginning of next year! I’m just saying, of course 😉

 


Main links for Ownership Transfer:




Une nouvelle application pour Framaspace : OwnershipTransfer

Encore des nouveautés sur Framaspace ? Et oui ! En ce moment, on gâte les utilisateur⋅ices de ce service, avec l’intégration de pas mal de fonctionnalités comme les applications Forms et Tables, mais aussi l’app « Intros » qu’a développée Val, notre stagiaire estival (rime riche !). Et comme c’est Val, c’est festival (rime honteuse !) : juste avant de nous quitter pour des vacances bien méritées et une dernière année d’études, il nous a livré une nouvelle application « Ownership Transfer » qui facilitera la vie des administrateur⋅ices d’espaces Framaspace.

 

Bonjour Val, on ne va pas te proposer de te présenter, car tu l’as déjà fait dans la précédente interview. On rappellera juste que tu es en stage à Framasoft de début mai à fin août 2024, avec pour objectif de développer des outils d’accompagnement à Framaspace, et donc au logiciel libre Nextcloud.

Salut ! N’hésitez pas à aller lire ma précédente interview pour en savoir plus sur moi ! J’y parle d’Intros, une application pour faciliter la prise en main de Framaspace.

A la fin de l’interview, je parle d’une autre application Nextcloud sur laquelle je travaillais, OwnershipTransfer. À l’époque c’était encore en cours de préparation, mais depuis j’ai cuisiné, et maintenant c’est prêt.

 

OK, donc, parlons de l’App Ownership Transfer. À quoi sert-elle ? Quel est le public visé ?

Comme indiqué dans l’article précédent, OwnershipTransfer sert à transférer des données d’un⋅e utilisateurice à l’autre dans Nextcloud. Par exemple, lorsqu’une personne quitte une association qui utilise du Nextcloud (sur Framaspace, au hasard 😏), il peut être bien pratique de transférer ses fichiers avant de supprimer son compte. Cela permet d’éviter de perdre des archives importantes, des factures,… De même pour ses agendas, ou même ses carnets d’adresses.

Ça tombe bien, OwnershipTransfer (qu’on abrégera par la suite « OT ») fait tout ça. Elle permet aux administrateur⋅ices d’un espace Nextcloud de transférer les données de n’importe qui vers n’importe qui. À l’origine surtout destinée au transfert de fichiers, j’ai pu étendre l’application au transfert d’agendas et de contacts.

OT permet de transférer toutes les données d’une application, mais aussi de choisir plus finement ce qui devra être transféré. On peut ainsi choisir l’agenda, le carnet d’adresse ou un dossier à transférer, pour éviter de se retrouver avec les photos de vacances de quelqu’un d’autre dans ses fichiers.

#gallery-3 { margin: auto; } #gallery-3 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-3 img { border: 2px solid #cfcfcf; } #gallery-3 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

 

Mais… cette possibilité n’existait pas déjà dans Nextcloud ?

Si, mais pas exactement comme on le voulait.

Nextcloud permet déjà de transférer ses propres fichiers à une autre personne, via une petite interface graphique dans les paramètres utilisateurs. On peut là uniquement transférer ses propres fichiers vers un autre utilisateur, mais pas choisir l’utilisateur source : ce n’est pas une solution pour les admins d’espace qui voudraient transférer des fichiers d’une personne à une autre.

Un⋅e administrateurice d’espace peut aussi transférer des fichiers ou des agendas d’un⋅e utilisateur⋅ice à un⋅e autre, via une commande « OCC ». OCC est la CLI de Nextcloud, via laquelle les admins peuvent lancer diverses opérations de maintenance ou de management. On y accède donc en ligne de commande via le terminal uniquement, ce qui a de quoi repousser la plupart des êtres vivants sur cette planète.

En bref cette solution fonctionne, mais ne propose pas d’interface graphique simple aux admins. Cela pose problème dans le cas de « fermes à Nextcloud » (une organisation qui héberge des instances Nextcloud pour beaucoup de clients d’un coup) comme Framaspace, dans lesquelles les administrateur⋅ices d’un espace n’ont pas accès à la ligne de commande.

 

Techniquement, comment ça marche ?

Comme elle s’intègre avec d’autres applications, OT se base essentiellement sur des APIs existantes de Nextcloud. L’application réutilise aussi des parties du code de Nextcloud que j’ai adaptées aux besoins de l’application. Par exemple, je réutilise le code de transfert de ses propres fichiers, en l’adaptant pour pouvoir choisir à la fois l’utilisateur⋅ice source et destinataire. De même pour le transfert d’agendas.

J’ai par contre dû implémenter le transfert de contacts, non disponible dans Nextcloud par défaut. Il est cependant très similaire au transfert d’agendas, dont je me suis inspiré, puisque les deux se basent sur le protocole WebDAV.

Pour l’affichage, j’utilise bien sûr les composants Vue proposés par Nextcloud. Leurs composants sont assez complets et agréables à utiliser, et ils en sortent de nouveaux régulièrement. Cela m’a permis de réaliser une interface graphique complète en peu de temps, et cohérente avec le reste du logiciel.

 

Tu as rencontré des soucis, qu’ils soient techniques, organisationnels, etc ?

La documentation de Nextcloud n’ayant pas miraculeusement centuplé en taille depuis la dernière fois, j’ai encore dû fouiller dans le code source de Nextcloud pour aller trouver les fonctions à utiliser. Ça commencerait presque à me plaire. Presque.

Mème d'un Val (avec quelques années de plus) face la (non) doc de Nextcloud.
Mème d’un Val (avec quelques années de plus) face à la (non) doc de Nextcloud.

 

Au moins, comme les fonctionnalités existaient déjà en partie dans Nextcloud, les adapter n’a pas été d’une difficulté monstre. Surtout que j’ai pu beaucoup compter sur les conseils de Tcit, codirecteur de Framasoft et contributeur bénévole de Nextcloud. En gros : j’écris du code, il le regarde, il se dit « Cool, mais ça passe pas à l’échelle ton truc », et puis je corrige.

C’était le problème la plupart du temps, le passage à l’échelle. C’est bien beau quand ça fonctionne sur mon petit environnement de test à 5 comptes et 7 dossiers, mais dans l’idéal il faut aussi que ça fonctionne sur les grosses instances Nextcloud avec beaucoup de fichiers. Par exemple, le transfert de fichiers peut prendre beaucoup de temps et de ressources : il faut déplacer tous les fichiers du dossier source vers la destination, ce qui peut être plus ou moins long en fonction de la quantité de fichiers et du type de stockage. Celui-ci est donc géré en fond : au lieu de l’exécuter au premier plan dès la réception de la requête, il est placé dans une file de « jobs » que le serveur effectue périodiquement.

Les transferts de contacts et d’agendas n’ont pas le même problème : il s’agit dans leur cas d’une simple requête SQL qui vient modifier la propriété de l’élément en question. Cette opération est rapide, et peut donc être exécutée au premier plan.

Outre le transfert en soi, réaliser l’interface a aussi été un vrai défi. L’application doit permettre à l’administrateurice de choisir quel élément doit être transféré, et doit donc lui proposer une interface pour faire son choix. Pour les agendas et les contacts, c’est plutôt simple : avec les composants de Nextcloud, j’ai pu facilement faire une liste d’agendas ou de carnets d’adresses. Pour les fichiers, ça se complexifie : il faut récréer une arborescence complète de fichiers, capable d’afficher des sous-dossiers.

Heureusement, un « insalien » n’est jamais seul. Romain, ancien étudiant INSA Lyon (du département Télécom, comme moi !) et ancien stagiaire à Framasoft, a travaillé il y a quelques années sur l’application Sorts. Le but de Sorts est d’améliorer la recherche de fichiers de Nextcloud, en proposant une recherche avec des filtres notamment. Mais Sorts a surtout quelque chose qui m’intéressait : une arborescence de fichiers en arbre. Pile ce qu’il me fallait.

#gallery-4 { margin: auto; } #gallery-4 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-4 img { border: 2px solid #cfcfcf; } #gallery-4 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Après avoir récupéré et adapté le code de Sorts, ce qui n’était pas forcément de tout repos, son arborescence s’intégrait parfaitement à OwnershipTransfer. Cela m’a permis de gagner beaucoup de temps de développement, et j’ai même pu apporter des améliorations, comme les lignes qui mettent mieux en évidence l’arborescence, ou les icônes de partage. Pas mal non ? C’est insalien 😎

Mème « Pas mal non ? C'est insalien »
Mème « Pas mal non ? C’est insalien »

 

Maintenant que ton stage s’achève, et après avoir « mangé » du Nextcloud pendant près de 6 mois, quels sont tes potentiels positionnements sur ce logiciel ?

Ah, c’est le moment où je râle !

Non blague à part, malgré toutes les critiques que je pourrais faire sur Nextcloud (notamment sa documentation légère, sa lenteur occasionnelle ou son interface qui laisse parfois à désirer), le logiciel est fonctionnel, et franchement c’est tout ce qui compte pour la plupart des gens. Des améliorations sont possibles (et sont en cours !), mais je le trouve déjà assez opérationnel pour la plupart des besoins que peuvent avoir ses utilisateur⋅ices. Je l’utilise personnellement depuis 2 ans sur ma Raspberry PI pour stocker mes fichiers, et je n’ai jamais eu de problème majeur avec.

Le logiciel peut par contre s’améliorer sur ses aspects collaboratifs, qui sont très demandés par les utilisateur⋅ices (écrire à plusieurs sur un fichier texte ou calc par exemple). Ces fonctionnalités existent, mais sont souvent encore difficiles à prendre en main et peu optimisées. Du coup, quand je les vois se vanter d’intégrer de l’IA au logiciel (alors que franchement, je pense que pour beaucoup ça n’a que très peu d’utilité) alors même que quand on ouvre un fichier texte en collaboratif c’est parfois encore le bordel… je me dis qu’ils pourraient mieux diriger leurs efforts. Mais bon, faut bien des annonces pour faire vendre.

 

Nous avons été très heureux⋅ses et satisfait⋅es de travailler avec toi pendant ces quelques mois ! Un dernier mot pour la fin ?

J’ai été très heureux de travailler à Framasoft ! Ce stage a été très enrichissant pour moi, et je remercie encore l’association pour son accueil et ses conditions de travail au top. Si les sujets que j’aborde dans cet article vous intéressent et que vous cherchez un stage dégooglisé, je vous encourage à venir à Framasoft (promis le dev Nextcloud c’est pas si terrible en vrai). Sinon, vous pouvez toujours faire un don !

Maintenant c’est l’heure des vacances pour moi (puis des « cours », mais ne le dites pas trop fort), puis de mon stage de fin d’études en début d’année prochaine. Je glisse ça là, au cas où 😉

Merci et bonne continuation, Val !


Pour information, si vous êtes étudiant⋅e, que vous aimez Nextcloud, et que ce genre de sujet de stage vous intéresse (de préférence à Lyon pour faciliter l’encadrement, mais télétravail possible), n’hésitez pas à nous envoyer rapidement une candidature spontanée sur stages @ framasoft.org !




Dégafamisation de L’atelier en Santé

Depuis plusieurs années, nous publions régulièrement (tant que faire se peut du moins !) des articles témoignant de la dégafamisation de structures associatives ou relevant de l’économie sociale et solidaire. Dans le cadre du lancement de emancipasso.org, notre nouvelle initiative pour accompagner les associations vers un numérique plus éthique (lire l’article de lancement), nous avons eu envie de reprendre la publication de ces témoignages.

Pour ce faire, nous avons lancé un appel à participation sur nos réseaux sociaux et quelques structures nous ont répondu (vous pouvez continuer à le faire en nous contactant) ! Nous sommes donc ravis de reprendre une nouvelle série d’articles de dégafamisation avec aujourd’hui le témoignage de L’atelier en Santé, un centre de santé communautaire à Plounéour-Ménez dans le Finistère.

Merci à Gabriel et à Alex d’avoir voulu partager leur aventure en répondant à nos questions, bonne lecture !

Bonjour, peux-tu te présenter brièvement pour le Framablog ?

Je suis donc Gabriel Perraud, médecin généraliste et militant pour des solutions libres et respectueuses des données des utilisateurs dans le champ de la santé. Je me suis déjà investi dans différents projets à ce sujet avec notamment feu LibreHealthCare, puis maintenant, à mon échelle, au sein de l’association InterHop.

(ndlr : Ah oui, je me souviens de LibreHealthCare, je les suivais sur Diaspora*, d’ailleurs j’ai retrouvé le wiki du projet)

Logo de l'association InterHop, icône représentant deux têtes de personnes de profil, l'une ayant un symbole d'électrocardiogramme et l'autre une roue crantée.
Logo de l’association InterHop

Mais dis moi donc Gabriel, Peux tu nous parler de ce projet qui te tient à cœur, depuis un bon moment maintenant ?  tu avais été très évasif en 2019 lors de notre rencontre.

L’Atelier En Santé: Il s’agit d’une association qui a pour but la mise en place d’un centre de santé communautaire au sein d’une commune rurale du Finistère. La devise de notre association est : « Faire santé en commun ». Je vous remets ici des extraits de notre site web de présentation sur la présentation et la définition de notre projet :

  •  L’idée naît en 2018, à Brest, en Finistère, à l’initiative de 2 médecins et d’une salariée agricole. Le souhait de pratiquer la santé autrement. D’avoir le temps d’être pleinement à l’écoute des patients. De faire partie d’un collectif de travail où toutes les voix comptent. D’un collectif dont les patients seraient parties prenantes, qui s’appuierait sur leurs savoirs, encouragerait leur pouvoir d’agir. Et où leur santé serait appréhendée de manière globale, dans ses dimensions tant physiologiques que sociales, environnementales, économiques, etc.

  • « Santé communautaire », d’autres Centres, ailleurs en France qui pratiquent ce type de soin, se sont donné ce nom, source d’inspiration pour les personnes à l’initiative du projet.

  • Ce pourrait être en zone rurale où les soins se font rares. Dans les Monts d’Arrée où cette rareté rime avec un tissu étroit de solidarités. À Plounéour-Ménez où la mairie accueille favorablement le projet.

  • Depuis, l’équipe bénévole de l’association loi 1901 porteuse du projet, L’Atelier en santé (LAES), s’est modifiée et élargie. Elle compte aujourd’hui 9 membres bénévoles – 2 coordinatrices de projet, 2 médecins, 2 kinés (dont Alex), 1 sage-femme et 2 psychologues – qui œuvrent ensemble à la création du futur Centre de santé, qu’ils soient professionnels, futurs salariés du centre ou habitants concernés par le manque d’accès aux soins. »

Et comme on l’a vu dans ta présentation, les logiciels libres seront présents dans cette aventure.

Gabriel : Nous nous sommes mis d’accord dès les premières étapes du projet pour utiliser des logiciels libres tant que cela nous était possible sans mettre en péril la vitalité du projet. Nous avons pu ainsi mettre en place nos outils libres communs pour toute la phase de préfiguration de notre projet de centre de santé.

Vous n’êtes pas toustes des geeks , qu’est ce qui a fait que vous ayez eu envie d’utiliser des outils libres? 

Alex : A vrai dire, je n’avais pas vraiment d’avis sur la question avant ma rencontre avec Gabriel. Je trouve très intéressant de mettre en commun et de rendre accessible des outils numériques. Il y a un véritable enjeu éthique derrière tout ça.

Cela ne t’a pas paru trop compliqué, Alex ? 

Au départ, oui, n’étant pas familier avec l’outil informatique…. Mais je ne saurai dire si c’est lié au fait que le logiciel soit libre ou non, ma pratique en la matière étant quasi nulle. Ceci dit, après un temps d’apprentissage, ces outils se révèlent extrêmement utiles pour le travail en collectif et permettent une efficacité d’action, si bien utilisés. Cela m’a un peu réconcilié avec l’usage de l’outil informatique.

Quel a été le déclencheur de votre dégafamisation ?

Pour ma part, un des premiers éléments déclencheurs a été le besoin de faire fonctionner de façon plus fluide mon Thinkpad T42 sous Windows XP lorsque j’étais étudiant. J’ai lu sur des sites d’informations numériques grand public la sortie d’une nouvelle version d’Ubuntu 10.10 et c’est là que tout a commencé. J’ai commencé à suivre un tutoriel sur, anciennement, « le Site du Zéro » pour savoir comment installer ce système d’exploitation gratuit qui avait l’air bien sympa.

Puis de fil en aiguille je me suis intéressé à la philosophie et aux enjeux politiques des logiciels libres. C’est arrivé au début de mes études de médecine et le lien s’est spontanément fait pour moi entre l’intérêt d’avoir des logiciels issus du mouvement open-source dans le champ de la santé, dans l’intérêt des professionnels, des patients et du système de santé en général.

Dans le cadre de LAES, nous avons mis en place ces outils dès le début. Nous avons d’abord voulu aller à ce qui nous semblait le moins onéreux et le plus flexible en auto-gérant l’infrastructure nous-même sur des serveurs OVH, via YunoHost que j’avais déjà testé à la maison pour divers projets personnels. La responsabilité restait cependant sur les épaules d’une seule personne de l’équipe. Pour rester en cohérence avec le souhait d’une gouvernance partagée et pour me laisser plus de temps à d’autres aspects du projet nous avons pu basculer la gestion des services que nous utilisions à d’autres personnes.

  • Forum/Discourse : cloud.girofle
  • Nuage/Nextcloud : cloud.girofle
  • Boîte mail : OVH
  • Site web/Wordpress : OVH
  • Pads : Cryptpad
  • Messagerie instantanée : on est resté sur Signal.

Parlons d’abord du processus de décision de cette transition. En amont de votre « dégafamisation », avez-vous organisé en interne des moments pour créer du consensus sur le sujet et passer collectivement à l’action (lever aussi les éventuelles résistances au changement) ? Réunions pour présenter le projet, ateliers de réflexion, autres ?

Oui, cela s’est fait lors de réunions. Dès le début avec une mise en commun des savoirs sur ce que comprenait le concept de logiciel libre et les enjeux techniques et politiques qui allaient avec. Nous avions cependant anticipé le fait qu’il n’existe pas (encore) de logiciels métiers (gestion de dossier patient, logiciel d’aide à la prescription) accrédités qui soient libres dans le cadre d’un centre de santé.

Cela ayant un fort impact sur le financement de notre structure et donc sur la vitalité du projet dans son ensemble, nous sommes tombés d’accord sur le fait que la vitalité du projet du centre passerait tout de même avant et que la recherche de logiciel libre se ferait « du mieux que l’on puisse ». Cela ne nous empêche donc pas de nous investir auprès d’Interhop et en particulier des projets Toobib et Goupile par exemple.

Nous avons également comme projet de mettre en place un fablab suivant l’état d’esprit lowtech orienté santé en parallèle du centre de santé pour le développement de solutions libres dans le domaine de la santé.

Mon médecin utilisait jusqu’à il y a 4 ou 5 ans des logiciels libres, mais il a été obligé d’arrêter. Pression des collègues du cabinet, difficultés avec les logiciels de la CPAM… Alors, quand j’entends parler de votre aventure je me demande si vous aussi vous rencontrez des résistances dans l’appropriation de votre écosystème numérique ? 

Oui, j’en parle au-dessus mais là c’est plus un retour d’expérience sur la préfiguration. Pour l’exercice, nous n’avons pas encore du tout libre, nous ferons au mieux. On est en lien avec Interhop/Toobib pour essayer d’avoir des solutions libres/éthiques accréditées.

Au sein de l’équipe, nous avons mis cet état d’esprit dès le début, il n’y avait pas de frein particulier.

En nous ouvrant aux habitants de la commune, l’outil Discourse nous permet d’avoir une interface suffisamment inclusive pour le moment pour permettre des échanges avec des personnes ayant différents niveaux de facilité avec le numérique. Nous utilisons également des pads de Framapad avec les habitants pour nos comptes-rendus de réunions et répartition des tâches.

Est-ce que vous avez rencontré des résistances que vous n’aviez pas anticipées, qui vous ont pris par surprise ? Au contraire, y a-t-il eu des changements dont vous aviez peur et qui se sont passés comme sur des roulettes ?

Non pas franchement pour le moment avant ouverture du centre. Pour la phase d’exercice, nous allons faire des choix dans l’été justement et nous aurons des retours plus tard.

Est-ce qu’il reste des outils auxquels vous n’avez pas encore pu trouver une alternative libre et pourquoi ?

Les logiciels métiers pour le moment, de ce que j’en comprends, l’accréditation peut-être techniquement compliquée et très onéreuse.

Quels étaient vos moyens humains et financiers pour effectuer cette transition vers un numérique éthique ? 

Plutôt des ressources internes, la communauté de YunoHost pour les soucis techniques auxquels je pouvais faire face, puis la plateforme des chatons pour migrer nos outils auprès de personnes bien plus compétentes que nous tout en restant raccord avec nos valeurs et à un coût abordable pour notre structure (prix libre pour cloud.girofle).

Infographie sur la dynamique entre l’équipe projet, l’équipe salariée et les habitant⋅es

Avez-vous organisé un accompagnement de vos utilisateur⋅ices ? Si oui, de quelle manière (formation, tutos, etc.) ?

Oui, avec des tutoriels à la demande, on essaie de simplifier l’accès aux outils au fur et à mesure de l’implication des adhérents. Et de réduire leur nombre également quand on peut.

On profite également des temps off, lorsque nous avons nos réunions en présentiel, pour résoudre les éventuels soucis techniques, faire une installation d’Ubuntu sur un PC qui ne tourne plus sur Windows, installer Aurora Store pour ré accéder à l’installation de Signal sur un vieil appareil Android (pour qui le PlayStore ne fonctionne plus comme il devrait), par exemple.

Est-ce que votre dégafamisation a un impact direct sur votre public ou utilisez-vous des services libres uniquement en interne ? Si le public est en contact avec des solutions libres, comment y réagit-il ? Est-il informé du fait que ça soit libre ?

Pour le moment nous communiquons aux nouveaux bénévoles des raisons de nos choix de logiciels libres et nous faisons l’effort d’essayer au maximum de réduire l’écart possible entre les compétences techniques nécessaires à l’utilisation d’outil et les compétences/envies/besoins des habitants bénévoles. Là on fait un gros travail d’adaptation du forum pour une utilisation plus fluide avec les mails.

Nous devrons ensuite voir pour un choix de messagerie instantanée : utiliser les modules présents dans Discourse ? Proposer Signal à tout le monde ? Chercher d’autres solutions ensemble ?

Au niveau des patients, ce seront donc essentiellement des outils libres ou sans GAFAM que vous allez utiliser ? (prise de rdv, mails hors gmail et compagnie ?)  Qui sont les adhérents ? Des patients ou quiconque habitant votre secteur et n’ayant pas de suivi médical avec vous ? C’est étonnant ce système d’adhésion pour un centre de santé. 

  • Pour les mails professionnels nous allons également passer par les messageries dites sécurisées mises en place par les institutions et utilisées par les autres acteurs du système de santé avec notamment MSSanté.

  • Pour ce qui est du travail avec les adhérents de l’association et des logiciels hors logiciels métiers avec accréditations nous allons nous efforcer d’utiliser des logiciels libres au maximum : traitement de texte, espace nuagique, pads, etc.

  • Pour le système d’adhésion, il s’agit de la valence communautaire ou participative du centre. Ce n’est pas forcément le cœur de cette interview, mais en résumé, toutes personnes souhaitant avoir des soins sera pris en charge comme dans d’autres structures déjà en place (maisons ou centres de santé). Mais nous travaillons à la mise en place d’une gouvernance partagée avec les habitant.es et différentes parties prenantes de la commune à l’échelle du centre. Par exemple, nous avons pu organiser un ciné-débat avec des habitant.es bénévoles du futur centre, et nous avons pu utiliser comme outils informatiques : framapad, mails et Discourse. 

  • Il y aura donc la partie soin où nous allons répondre aux demandes réglementaires nationales tout en nous investissant auprès de Toobib et d’Interhop pour participer au développement de solutions éthiques et libres. Et il y aura la partie associative/participative sur laquelle nous allons avoir plus de marge de manœuvre pour la mise en place de solutions open-sources/libres.

 

Quels conseils donneriez-vous à des structures comparables à la vôtre qui voudraient se dégafamiser aussi ? (erreurs à ne pas commettre ? Astuces et bonnes pratiques éprouvées à l’usage ?)

Ne pas hésiter à passer rapidement, si ce n’est dès le début, par des services répertoriés sur les CHATONS. La gestion en interne de ces outils peut être plus ou moins compliquée lorsque ce n’est plus uniquement un projet personnel et que les enjeux ne sont plus les mêmes en cas de soucis techniques (perte d’accès à des services, incendie dans des datacenters), etc.

Sinon, par rapport à d’autres projets, cela reste plus simple, à mon sens, de proposer une infrastructure libre dans le cadre d’un nouveau projet. En choisissant un projet qui a relativement peu d’impact sur le reste de la structure et en montrant que ça marche, le discours autour du logiciel libre a de plus en plus d’impact dans les représentations que peuvent se faire les différentes parties prenantes sur la question.

 

Un mot de la fin, pour donner envie de migrer vers les outils libres ?

Un argument qui semble souvent fonctionner est le côté prosaïquement libre de ces outils. Si nous ne sommes plus satisfait d’un hébergeur, d’un gérant, d’un outil, il est plutôt aisé d’en changer de par les formats de données utilisés et les communautés présentes et aidantes autour de ces outils.

Encore merci Alex pour ta participation à l’interview ! Je sais qu’il n’a pas été simple de trouver du temps pour cela. Et merci Gabriel, pour l’interview mais aussi pour ton implication, depuis toutes ces années, dans les projets de logiciels libres en médecine  ! 

On en parle aussi dans les journaux locaux (Ouest-France et Le Télégramme) !




Intros, a Nextcloud app to help you get to grips with Framaspace

The Framaspace project currently hosts a cloud environment (files, calendars, contacts, wiki, kanban, etc.) for more than 1,200 associations and groups. That’s as many instances of the Nextcloud free software. Unfortunately, it’s not always easy to get to grips with Nextcloud, despite the documentation, forums and so on. So Framasoft decided to get an intern, Val, to work on the subject of supporting people using Nextcloud for the first time. Here’s his story.


Une version française de cette interview est disponible à l’adresse suivante : https://framablog.org/2024/07/31/intros-une-app-nextcloud-pour-faciliter-la-prise-en-main-de-framaspace

Hi Val, can you introduce yourself?

Hi! I’m Val, and I’m 22. I was raised in Paris’ suburbs, and I have been studying at INSA Lyon, an engineering school in Villeurbanne for 4 years now. I am parisian, lyonnais, suburbanite, or even Swedish, depending on the mood.
If everything goes as expected, I’ll graduate next year as an Telecommunication Engineer.

I like singing and playing music, climbing plastic walls, solving Rubik’s cubes and playing video games, when I’m not busy tweaking some lines of code. Over the last few years, I have also been active in multiple associations, including some at INSA or the Red Cross.

Photo de Val, stagiaire Framasoft entre mai et août 2024
Photo of Val, Framasoft intern between May and August 2024

You chose Framasoft for your internship. Why?

I had to search for an internship while being in Sweden, and it wasn’t really easy. Searching from another country didn’t help of course, and I also wanted an internship matching my personal values. Basically, being cheap labour to help big business get richer isn’t really my thing.

The year before, I participated in organising an event with the Exit Lyon association, at which a Framasoft employee gave a conference on queer emancipation through digital technology. Being engaged in associations, I already knew Framasoft from their web services, as many do. I still had her email, so I sent an application, and there I am!

It was kind of an ideal case: an internship in a non-profit, breaking with capitalism, and contributing to build more social justice in our society.

Mème Val
Val choosing his internship at Framasoft — Allegory

 

Let’s talk about your internship. What was the general objective?

Framasoft’s collaborative cloud platform for associations and activist groups, Framaspace, has been active for 2 years now, and is based on Nextcloud. Even though it is a good solution, this open source software is far from perfect, and in particular is more difficult to use than other existing solutions (closed-source and maintained by GAFAMs, such as Google Drive or Microsoft 365).

Please note that Framaspace is a service reserved for French-speaking audiences. The Framasoft association, which provides this product free of charge only to associations and militant collectives, relies solely on donations. Consequently, it is our association that bears the technical support and financial costs of hosting and we cannot afford to host a worldwide audience.

 

My internship tries to solve part of this problem: how to make sure that first time someone logs into Nextcloud they don’t run away. My aim is to make the first use of Nextcloud easier, by supporting users and helping them using the software. It would encourage people to stay on a free solution that respects their privacy, and not run towards GAFAM solutions, considered easier to use.

Luckily, Nextcloud allows the community to create apps that integrate with the software to enhance it. Hence my first contribution to this mission is a Nextcloud app, « Intros ».

OK, so let’s talk about the Intros App. What’s it for? Who is the target audience?

Intros answers an user’s most simple question when meeting Nextcloud: « Where is the button to [insert a random action]? ».

To answer it, Intros highlight elements, buttons or even parts of Nextcloud’s interface to explain what they do. For example, the app will highlight the small sharing icon and display a text explaining how to share a file to someone else. This applies to several Nextcloud apps, including files, contacts or calendar.

Video demonstration of how the ‘Intros’ app works

Technically, how does it work?

The app uses the intro.js library, which helps creating step-by-step tutorials that highlight a web page’s elements. The library simply integrates to Nextcloud as any other javascript library would, and we can customise tutorials for the users.

That’s it? No! The library handles most of the visual aspects for us, but it had to be adapted to integrate to Nextcloud properly. For example, remembering when a tutorial has already been seen to not display it again, and making a menu to re-enable it if needed. Or even handling multiple languages, displaying buttons in Nextcloud’s style, highlighting elements nested in menus… Lots of small enhancements that allow a smooth integration of the library to Nextcloud.

Have you encountered any technical or organisational problems?

Of course, otherwise where would the fun be? As always when I’m coding something, sometimes it works and I think, « wow, I’m a genius », and sometimes (often) it doesn’t work and I think, « wow, I’m an intern ».

For example, during development I realised that the application sometimes had trouble finding some elements on the page. One of the problems with intro.js is that the library is designed to be deployed on a site that has been designed by the person who writes the tutorials. This person would have a good knowledge of the site’s structure, and would know which elements need to be selected for it to work every time… Except this person isn’t me. I’m integrating it into Nextcloud, which I obviously didn’t design, so I have to adapt to the structure of the existing pages. As if that wasn’t simple enough, the way the pages are built changes depending on the application (Files, Calendar, Contacts…) or even the version of Nextcloud. So I had to reverse-engineer the HTML DOM on a case-by-case basis, to find out which elements it was possible to select and avoid selecting elements that could change name, class or even completely disappear.

But even being careful, it sometimes didn’t work. The application couldn’t find certain elements, and displayed an explanation over empty space. Not ideal. In intro.js, by default, you give a list of elements to highlight and the explanations that go with them, and the library takes care of detecting them in the DOM when the page loads. This was the critical point in this case: when the page loads. The elements are all loaded at once, so they can’t change along the way. I had problems with this specifically in two cases:

  • first, elements nested in menus. We sometimes want to highlight an element that isn’t visible on page load, and would be after a user click
  • then, elements that aren’t loaded immediately on page load. Some Nextcloud apps take a bit more time to load their elements, so the library can’t detect them on load.

So what? Well, press the keys on the keyboard, in the right order if possible, and after a while it makes code that solves the problem. Here, instead of detecting all the elements at once, I’ve made sure to detect them just before they’re needed. Each time the user presses ‘next’, the application detects the next element to be highlighted and replaces the default element with this element before launching the next step. This way, we don’t have to worry about page load times or the fact that the button is in a menu. All that’s left to do is simulate a user click with javascript for buttons in menus and tada! It works.

Val "This is fine" Mème in English
Val « This is fine » Mème

Now that the app has been published, what’s next?

What’s next? It’s not really about me anymore! I hope the app will be used by Nextcloud’s users, and it’s already in use in Framaspace.

We have also discussed with Nextcloud for a possible integration of the app to the software core (and not as a third-party app). That would make it easier to add new tutorial to the apps for developers, but Nextcloud had some remarks regarding this. One of them was that the app explains the interface, while they could simply improve it so it wouldn’t need an explanation.

Capture écran de Intros dans le magasin d'application Nextcloud
Screenshot of Intros in the Nextcloud application store

 

And of course, the app can still be perfected (I’m only a humble intern, after all) to make it more efficient, easier to maintain,… It’s also very important since we want it to be maintained over the (frequent!) Nextcloud updates.

A little birdie tells me that you’re working on another Nextcloud application, can you tell us more about that?

A new app is indeed on the road (#WIP). The OwnershipTransfer app will allow admins to transfer the ownership of files (or even other types of data?) from one user to another. This would be especially useful for when someone is leaving an association that uses Nextcloud, and forgot to transfer their important files to someone else! It will prevent them from losing a very important budget file, forever. However, it still doesn’t make coffee… sorry.

We’ve come to the end of this interview. Would you like to share a feeling about the work you’ve done during this internship?

#gallery-5 { margin: auto; } #gallery-5 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-5 img { border: 2px solid #cfcfcf; } #gallery-5 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

I’m really satisfied with what I accomplished. Over and above the fact that I designed and developed a Nextcloud application for the first time from A to Z, I’ve learnt a lot of new skills. Whether it’s PHP, a language I’d only just got to grips with before my internship, or software development in general, managing releases, issues and merge requests, and so on. I’m very happy to be able to have learnt a lot during this internship.

By the way, huge thanks to Framasoft’s employee team who’s always been eager to help me and answer my questions when needed!

Last question, a recurring one in our interviews: what question would you like to have been asked, and what would your answer be?

« Tell me, what do you think of Nextcloud’s documentation? »

It’s time to rant (after all, I’m French!). It’s… lightweight, to say the least. But you can see it from a good perspective: I guess browsing the source code to understand how the APIs work is a great learning experience!

Thanks Val!

 




Intros, une app Nextcloud pour faciliter la prise en main de Framaspace

Le projet Framaspace propose, à ce jour, un espace cloud (fichiers, agendas, contacts, wiki, kanban, etc) à plus de 1 200 associations et collectifs. C’est autant d’instances du logiciel libre Nextcloud. Malheureusement, ce dernier n’est pas toujours très facile à prendre en main, malgré les documentations, les forums, etc. Framasoft a donc décidé de faire plancher un stagiaire, Val, sur le sujet de l’accompagnement des personnes utilisant Nextcloud pour la première fois. Voici son histoire.


 

Bonjour Val, peux-tu te présenter ?

Salut ! Je m’appelle Val, j’ai 22 ans. J’ai grandi en banlieue parisienne, et depuis 4 ans maintenant je fais mes études à l’INSA Lyon, école d’ingénieur qui se trouve à… Villeurbanne (c’est comme Lyon, mais avec les endroits jolis en moins). Je suis Parisien, Lyonnais, banlieusard, parfois même Suédois, selon l’humeur.
Si tout se passe bien, je serai diplômé l’an prochain comme Ingénieur en Télécommunications.

J’aime chanter et faire de la musique, aller grimper des murs en plastique, résoudre des Rubik’s cube et jouer aux jeux vidéos, quand je suis pas occupé à bidouiller du code. Ces dernières années, j’ai aussi participé à plusieurs projets associatifs, notamment dans des associations de l’INSA, ou encore avec la Croix-Rouge.

Photo de Val, stagiaire Framasoft entre mai et août 2024
Photo de Val, stagiaire Framasoft entre mai et août 2024

 

Concernant ton stage, tu as choisi Framasoft. Pourquoi ?

J’étais en Suède au moment de chercher un stage, et c’était un peu galère. Chercher à distance c’est forcément plus compliqué, surtout que je voulais si possible faire un stage qui corresponde à mes valeurs. Si vous vous posez la question, en gros, être de la main d’œuvre pas chère pour renflouer le capital de grandes entreprises c’est pas trop mon truc.

L’année précédente, j’avais participé à organiser un évènement avec l’association Exit Lyon, dans lequel une salariée de Framasoft était venue faire une conférence sur l’émancipation queer par le numérique. Étant engagé dans le milieu associatif, je connaissais déjà un peu Framasoft, je pense comme beaucoup à travers les services numériques que l’asso propose. J’avais encore son mail, donc j’ai envoyé une candidature, et voilà où j’en suis quelques mois plus tard.

C’est un peu le cas idéal pour moi : un stage dans une organisation à but non-lucratif, en rupture avec le capitalisme, et qui contribue à construire plus de justice sociale dans notre société.

Mème Val
Val choisissant son stage chez Framasoft — Allégorie

 

Venons-en au sujet de ton stage. Quel était l’objectif général ?

Depuis 2 ans Framasoft propose Framaspace, une solution de collaboration et de stockage de fichier en ligne à destination d’associations et de collectifs militants, basée sur le logiciel libre Nextcloud. Bien qu’il réponde à la problématique posée, celui-ci est loin d’être parfait, et est notamment plus difficile d’utilisation que d’autres solutions existantes (non-libres et administrées par des GAFAM, par exemple Google Drive ou Microsoft 365).

Mon sujet de stage vient s’inscrire dans cette problématique : comment faire pour que la première fois qu’une personne se connecte à Nextcloud elle ne fuit pas en courant. Mon but est de faciliter la première utilisation de Nextcloud, en accompagnant les utilisateurices et en les aidant à s’approprier le logiciel. Si tout se passe bien, cela encourage les gens à rester sur cette solution libre et respectueuse de leur vie privée, à défaut de les voir courir vers des solutions jugées plus simples d’utilisation chez les GAFAM.

Fort heureusement, Nextcloud permet à la communauté de créer des applications qui s’intègrent au logiciel pour venir l’améliorer. La première incarnation de cette mission prend donc la forme d’une Application Nextcloud, « Intros ».

OK, donc, parlons de l’App Intros. À quoi sert-elle ? Quel est le public visé ?

Intros répond à la question la plus simple qu’une personne a en arrivant sur Nextcloud : « Il est où le bouton pour [insérer une action quelconque] ? ».

Pour y répondre, Intros met en lumière des éléments, des boutons ou même des parties de l’interface de Nextcloud et explique à quoi elles servent. Par exemple, l’application va surligner la petite icône de partage d’un fichier et afficher un texte qui explique comment partager un fichier à une autre personne. C’est valable pour plusieurs des applications de Nextcloud, des fichiers aux contacts, en passant par le calendrier.

Techniquement, comment ça marche ?

L’application est basée sur la bibliothèque intro.js, qui permet justement de réaliser des tutoriels pas à pas en surlignant les éléments d’une page web. La bibliothèque s’intègre simplement à Nextcloud comme une bibliothèque javascript classique, et on peut personnaliser des visites pour les utilisateurices.

C’est tout ? Non ! La bibliothèque gère certes la plupart des aspects de l’affichage pour nous, mais il a fallu l’adapter pour qu’elle s’intègre à Nextcloud. Par exemple, gérer quand la visite d’une application a déjà été suivie, pour ne pas la proposer une nouvelle fois à l’utilisateurice, et faire un menu pour réactiver les visites en cas de besoin. Ou encore gérer différentes langues, afficher des boutons cohérents avec le reste de Nextcloud, surligner des éléments dans des menus… Bref, de nombreuses petites améliorations qui permettent à la bibliothèque de bien s’intégrer à Nextcloud, sans que les utilisateurices ne se doutent de rien.

Tu as rencontré des soucis, qu’ils soient techniques, organisationnels, etc ?

Bien sûr, sinon c’est moins marrant. Comme toujours quand je développe quelque chose, parfois ça fonctionne et je me dis que, quand même, je suis vraiment génial, et parfois (souvent) ça fonctionne pas et je me dis que, quand même, je suis stagiaire.

Par exemple, au cours du développement je me suis rendu compte que l’application avait parfois du mal à trouver certains éléments de la page. L’un des soucis d’intro.js, c’est que la bibliothèque est prévue pour être déployée sur un site qui a été conçu par la personne qui écrit les visites guidées. Cette personne aurait donc une bonne connaissance de la structure du site, et saurait quels éléments doivent être sélectionnés pour que ça fonctionne à tous les coups… Sauf que cette personne, c’est pas moi. Je l’intègre à Nextcloud, que je n’ai évidemment pas conçu, et je dois donc m’adapter à la structure des pages existantes. Comme si c’était pas assez simple, la façon dont les pages sont construites change en fonction de l’application (Fichiers, Agenda, Contacts…) ou même de la version de Nextcloud. Bref, il a fallu rétro-ingénierer le DOM HTML au cas par cas, pour trouver quels éléments il était possible de sélectionner et éviter de sélectionner des éléments qui peuvent changer de nom, de classe, ou même disparaître totalement.

Mais même en faisant attention, parfois ça ne passait pas. L’application n’arrivait pas à trouver certains éléments, et affichait une explication sur du vide. Pas idéal. Dans intro.js, par défaut, on donne une liste d’éléments à surligner et les explications qui vont avec, et la bibliothèque se charge de les détecter dans le DOM au chargement de la page. C’est ce point qui était bloquant dans ce cas : au chargement de la page. Les éléments sont tous chargés d’un coup, et ne peuvent donc pas changer en cours de route. Ça m’a posé problème spécifiquement dans deux cas :

  • d’abord, les éléments dans des menus. Parfois on veut mettre en évidence un élément qui n’est pas visible par défaut, et qui le deviendrait après un clic de l’utilisateurice sur un bouton ;
  • ensuite, les éléments qui ne sont pas chargés immédiatement au chargement de la page. Certaines applications de Nextcloud mettent un peu plus de temps à charger leurs éléments, et la bibliothèque ne peut donc pas les détecter dès le chargement.

Alors comment on fait ? Ben on appuie sur les touches du clavier, dans le bon ordre si possible, et au bout d’un moment ça fait du code qui règle le problème. Ici, au lieu de détecter tous les éléments d’un coup, j’ai fait en sorte de les détecter juste avant qu’on ait besoin d’eux. A chaque fois que l’utilisateurice appuie sur « suivant », l’application détecte l’élément suivant qui doit être surligné et remplace l’élément par défaut par cet élément avant de lancer l’étape suivante. Comme ça, on n’a pas à se soucier du temps de chargement de la page, ou du fait que le bouton soit dans un menu. Reste plus qu’à simuler un clic utilisateur avec javascript pour les boutons dans les menus et paf! ça fait des chocap… bref ça fonctionne.

Mème Val "This is fine"
Val faisant face aux disparités de gestion du DOM HTML dans Nextcloud –Allégorie

 

Maintenant que l’app est publiée, quelle est la suite des événements ?

La suite, j’allais dire que ça ne dépend presque plus de moi ! J’espère que l’application sera utilisée par les utilisateurices de Nextcloud, elle est en tout cas déjà utilisée au sein de Framaspace.

Par ailleurs, on a discuté avec Nextcloud d’une possible intégration de l’application au cœur du logiciel (non plus en tant qu’application tierce, mais directement dans Nextcloud). Cela faciliterait l’ajout de nouveaux tutoriels pour les applications tierces, mais Nextcloud émet des réserves quant à la pertinence de son intégration. Une des remarques faites est que l’appli vient expliquer l’interface, alors qu’on peut directement adapter l’interface pour la rendre plus facile d’utilisation (elle se passerait alors d’explications).

Capture écran de Intros dans le magasin d'application Nextcloud
Capture écran de Intros dans le magasin d’application Nextcloud

 

Et puis l’application peut encore être améliorée (après tout je ne suis qu’un modeste stagiaire) pour la rendre plus performante, plus facile à maintenir, etc. C’est également important puisqu’on souhaite qu’elle soit maintenue au fur et à mesure des mises à jour (fréquentes !) de Nextcloud.

Mon petit doigt me dit que tu travailles sur une autre application Nextcloud, tu peux nous en dire plus ?

Ton petit doigt m’a l’air très bien renseigné 😉

Une nouvelle application est effectivement en cours de construction (#WIP). L’application OwnershipTransfer de son petit nom permettra à l’admin d’un Nextcloud de transférer la propriété des fichiers (ou même d’autres types de données) d’un-e utilisateurice vers un-e autre. Bien pratique par exemple quand une personne quitte une association qui utilisait Nextcloud sans penser à transférer ses fichiers importants à un-e autre membre : cela évite de perdre à tout jamais le budget prévisionnel de l’asso. Par contre, ça fait toujours pas le café… désolé.

#gallery-6 { margin: auto; } #gallery-6 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-6 img { border: 2px solid #cfcfcf; } #gallery-6 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

On arrive à la fin de cette interview. Souhaites-tu nous partager un sentiment sur le travail effectué pendant ce stage ?

Je suis pleinement satisfait du travail que j’ai effectué. Au delà du fait d’avoir conçu et développé une application Nextcloud pour la première fois de A à Z, c’est surtout d’en tirer énormément de nouvelles compétences et apprentissages. Que ça soit en PHP, langage que je n’avais que peu apprivoisé avant mon stage, en développement logiciel de manière générale, gérer des releases, des issues et des merge request… Je suis très heureux de pouvoir sortir de ce stage en ayant beaucoup appris.

J’en profite pour remercier l’équipe salariée de Framasoft, qui a toujours su m’aider et répondre à mes questions quand j’en avais besoin !

Dernière question, récurrente dans nos interviews : quelle est la question que tu aurais aimé qu’on te pose, et quelle serait ta réponse ?

« Mais dis moi Val, tu la trouves comment la documentation de Nextcloud ? »

C’est un peu mon instant râleur (après tout je suis Français). Elle est… peu fournie, pour profiter d’une occasion d’utiliser une figure de style que j’aime beaucoup. Ça présente ses avantages d’un côté, si on veut y voir du positif : aller fouiller dans le code source pour comprendre comment utiliser les API c’est très formateur !

Merci beaucoup, Val !
Pour information, si vous êtes étudiant⋅e, que vous aimez Nextcloud, et que ce genre de sujet de stage vous intéresse (de préférence à Lyon pour faciliter l’encadrement, mais télétravail possible), n’hésitez pas à nous envoyer rapidement une candidature spontanée sur stages @ framasoft.org !




L’Union Européenne doit poursuivre le financement des logiciels libres

Le programme de financement européen NGI est en danger, alors qu’il s’agit probablement d’une des meilleures choses qui soit arrivée au logiciel libre durant ces dernières années. En effet, cette initiative permet de soutenir financièrement des centaines de projets libres communautaires, dont certaines briques fondamentales pour notre vie numérique quotidienne. Framasoft bénéficie depuis plusieurs années de ce type de fonds, notamment sur les projets PeerTube et Mobilizon.

Pour nous et pour d’autres, il s’agit d’un véritable accélérateur pour tous les logiciels libres, et le fait que ce programme soit en danger met en péril tout l’écosystème qu’il consolide et fortifie.

Nous vous invitons à contacter vos élu·es pour les alerter des enjeux et faire perdurer ce programme.

Cette lettre a été publiée initialement par les petites singularités. Si vous souhaitez la signer, merci de la publier sur votre site et de compléter le tableau ici.

Lettre ouverte à la Commission Européenne

Depuis 2020, les programmes Next Generation Internet (NGI), sous-branche du programme Horizon Europe de la Commission Européenne financent en cascade (via les appels de NLnet) le logiciel libre en Europe. Cette année, à la lecture du brouillon du Programme de Travail de Horizon Europe détaillant les programmes de financement de la commission européenne pour 2025, nous nous apercevons que les programmes Next Generation Internet ne sont plus mentionnés dans le Cluster 4.

Les programmes NGI ont démontré leur force et leur importance dans le soutien à l’infrastructure logicielle européenne, formant un instrument générique de financement des communs numériques qui doivent être rendus accessibles dans la durée. Nous sommes dans l’incompréhension face à cette transformation, d’autant plus que le fonctionnement de NGI est efficace et économique puisqu’il soutient l’ensemble des projets de logiciel libre des plus petites initiatives aux mieux assises. La diversité de cet écosystème fait la grande force de l’innovation technologique européenne et le maintien de l’initiative NGI pour former un soutien structurel à ces projets logiciels, qui sont au cœur de l’innovation mondiale, permet de garantir la souveraineté d’une infrastructure européenne. Contrairement à la perception courante, les innovations techniques sont issues des communautés de programmeurs européens plutôt que nord-américains, et le plus souvent issues de structures de taille réduite.

Le Cluster 4 allouait 27 millions d’euros au service de :

  • « Human centric Internet aligned with values and principles commonly shared in Europe » ;
  • « A flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life » ;
  • « A structured eco-system of talented contributors driving the creation of new internet commons and the evolution of existing internet common« .

Au nom de ces enjeux, ce sont plus de 500 projets qui ont reçu un financement NGI0 dans les 5 premières années d’exercice, ainsi que plus de 18 organisations collaborant à faire vivre ces consortia européens.

NGI contribue à un vaste écosystème puisque la plupart du budget est dévolue au financement de tierces parties par le biais des appels ouverts (open calls). Ils structurent des communs qui recouvrent l’ensemble de l’Internet, du matériel aux applications d’intégration verticale en passant par la virtualisation, les protocoles, les systèmes d’exploitation, les identités électroniques ou la supervision du trafic de données. Ce financement des tierces parties n’est pas renouvelé dans le programme actuel, ce qui laissera de nombreux projets sans ressources adéquates pour la recherche et l’innovation en Europe.

Par ailleurs, NGI permet des échanges et des collaborations à travers tous les pays de la zone euro et aussi avec ceux des widening countries¹, ce qui est actuellement une réussite tout autant qu’un progrès en cours, comme le fut le programme Erasmus avant nous. NGI0 est aussi une initiative qui participe à l’ouverture et à l’entretien de relation sur un temps plus long que les financements de projets. NGI encourage également à l’implémentation des projets financés par le biais de pilotes, et soutient la collaboration au sein des initiatives, ainsi que l’identification et la réutilisation d’éléments communs au travers des projets, l’interopérabilité notamment des systèmes d’identification, et la mise en place de modèles de développement intégrant les autres sources de financements aux différentes échelles en Europe.

Alors que les États-Unis d’Amérique, la Chine ou la Russie déploient des moyens publics et privés colossaux pour développer des logiciels et infrastructures captant massivement les données des consommateurs, l’Union Européenne ne peut pas se permettre ce renoncement. Les logiciels libres et open source tels que soutenus par les projets NGI depuis 2020 sont, par construction, à l’opposée des potentiels vecteurs d’ingérence étrangère. Ils permettent de conserver localement les données et de favoriser une économie et des savoirs-faire à l’échelle communautaire, tout en permettant à la fois une collaboration internationale. Ceci est d’autant plus indispensable dans le contexte géopolitique que nous connaissons actuellement. L’enjeu de la souveraineté technologique y est prépondérant et le logiciel libre permet d’y répondre sans renier la nécessité d’œuvrer pour la paix et la citoyenneté dans l’ensemble du monde numérique.

Dans ces perspectives, nous vous demandons urgemment de réclamer la préservation du programme NGI dans le programme de financement 2025.

¹ Tels que définis par Horizon Europe, les États Membres élargis sont la Bulgarie, la Croatie, Chypre, la République Tchèque, l’Estonie, la Grèce, la Hongrie, la Lettonie, la Lituanie, Malte, la Pologne, le Portugal, la Roumanie, la Slovaquie et la Slovénie. Les pays associés élargies (sous conditions d’un accord d’association) l’Albanie, l’Arménie, la Bosnie Herzégovine, les Iles Féroé, la Géorgie, le Kosovo, la Moldavie, le Monténégro, le Maroc, la Macédoine du Nord, la Serbie, la Tunisie, la Turquie et l’Ukraine. Les régions élargies d’outre-mer sont: la Guadeloupe, la Guyane Française, la Martinique, La Réunion, Mayotte, Saint-Martin, Les Açores, Madère, les Iles Canaries.




Zikapanam : une asso de musiciens amateurs qui organise des jams

Depuis plusieurs années, nous publions régulièrement (tant que faire se peut du moins !) des articles témoignant de la dégafamisation de structures associatives ou relevant de l’économie sociale et solidaire. Dans le cadre du lancement de emancipasso.org, notre nouvelle initiative pour accompagner les associations vers un numérique plus éthique (lire l’article de lancement), nous avons eu envie de reprendre la publication de ces témoignages.

Pour ce faire, nous avons lancé un appel à participation sur nos réseaux sociaux et quelques structures nous ont répondu (vous pouvez continuer à le faire en nous contactant) ! Nous sommes donc ravis de reprendre une nouvelle série d’articles de dégafamisation avec aujourd’hui le témoignage de Zikapanam, qui organise et participe à des jams, répétitions, scènes ouvertes et concerts. Merci à Laurent pour son témoignage riche, et bonne lecture !

Bonjour, peux-tu te présenter brièvement pour le Framablog ? Qui es-tu, ton parcours ? Ton rôle dans l’association ?

Je suis Laurent Schwartz, l’un des quatre fondateurs de l’association Zikapanam créee en octobre 2022. J’en suis son actuel Président et le seul opérationnel sur l’acquisition et le développement des outils informatiques de l’association. J’ai une formation d’ingénieur en informatique. L’informatique et la musique (Basse, Batterie et Chant) sont deux des mes passions depuis mon adolescence.  J’utilise Linux au quotidien depuis 2008.

Tu nous parles de ton association ? Quel est son objet, les valeurs qu’elle porte ? 

Zikapanam est une association de musiciens amateurs de tout niveau qui organise et participe à des jams, répétitions, scènes ouvertes et concerts. Des musiciens adultes de toute l’île de France nous rejoignent. Nous organisons nos événements et nos rencontres musicales sur Paris intra muros et petite couronne. 
La bienveillance caractérise les relations souvent décrites par les nouveaux arrivants .

En termes d’organisation, combien y a-t-il de membres ? y a-t-il des salarié⋅es ? Êtes-vous localisé géographiquement ou bien un peu partout ?

Nous sommes (juin 2024) environ 190 membres cotisants. La cotisation est modique. L’association est basée entièrement sur le bénévolat. L’ancrage de Zikapanam est la région parisienne. Nous souhaitons aussi développer une communauté de jams distancielles par internet pour attirer des musiciens francophones de toute la France.

Tim Sheerman-Chase, CC BY 2.0 <https://creativecommons.org/licenses/by/2.0>, via Wikimedia Commons

Vous diriez que les membres de l’association sont à l’aise avec le numérique ou pas du tout ? Ou bien c’est assez disparate ?

Nous utilisons beaucoup d’outils pour communiquer (Discord, solution logicielle maison, réseaux sociaux etc.), il y a donc un filtrage conséquent à l’arrivée sur notre Discord. Les gens qui vont au bout du processus d’inscription sont les plus motivés et peut-être aussi ceux qui prennent le temps de s’adapter à nos outils. Nous sommes composés de musiciens et pour la plupart l’ordinateur fait peur. Ils utilisent plutôt leur téléphone. Cependant, parmi les bénévoles, l’usage de l’ordinateur est souvent la norme.

Quel a été le déclencheur de votre dégafamisation ? Qu’est-ce qui vous a motivés ?

Nous avons une partie de nos membres qui est sensible aux enjeux du libre et qui utilisent les outils Framasoft ou du Fediverse.. C’est arrivé à mes oreilles et je me suis renseigné car je constatais qu’il y avait des freins importants à l’adoption de certains réseaux sociaux comme Meta même par des gens qui n’étaient pas forcément activiste du libre …
Au gré de mes réflexions sur le sujet, je me suis donné ces objectifs :
– offrir un accès libre à nos communications sur nos réseaux sociaux (sans besoin de créer un compte) ;
– limiter la nuisance de la publicité et des algorithmes qui décident pour vous les publications qu’on vous présente …  Qui détournent l’attention de nos publications ;
– toucher tous nos followers plutôt que le 5% que Meta dans « sa bonté généreuse » nous laisse toucher !

Quels sont les moyens humains mobilisés sur la démarche ? Y a-t-il une équipe dédiée au projet ? Ou plutôt une personne seule ? Quelles compétences ont été nécessaires ?

Je suis le seul opérationnel en informatique mais je reçois des idées de beaucoup de monde dans l’association. Il est cependant à ma charge de qualifier la pertinence des propositions qui me sont faîtes. Le monde du libre est documenté mais n’arrive pas dans le top des moteurs de recherche que j’utilise … Et ça complique grandement les recueils d’informations ! En tant qu’ingénieur en informatique, j’ai l’habitude de me former aux outils, de les découvrir et d’apprécier leurs fonctionnalités mais ça demande du temps et je ne peux le faire qu’à certaines périodes de l’année.  C’est ce que j’appelle la veille techno.

Comment avez-vous organisé votre dégafamisation ? Plan stratégique machiavélique puis passage à l’opérationnel ? Ou par itérations et petit à petit, au fil de l’eau ? Quelles étapes avez-vous suivi ?

À vrai dire, je n’ai rien contre les GAFAMs. Ces sociétés ont apporté beaucoup à internet à son démarrage et leurs actions d’aujourd’hui sont compatibles avec un monde d’entreprise où l’argent est roi !. Mon raisonnement est pragmatique, nous sommes une association et nous n’avons pas les moyens financiers d’une entreprise commerciale ! Les outils que nous serons amenés à utiliser ou que nous utilisons déjà le seront parce qu’ils nous sont accessibles financièrement, peuvent convenir et fédérer un maximum de personnes parmi lesquels des technophobes. Et c’est un véritable challenge !

Est-ce que vous avez rencontré des résistances que vous n’aviez pas anticipées, qui vous ont pris par surprise ? Au contraire, y a-t-il eu des changements dont vous aviez peur et qui se sont passés comme sur des roulettes ?

Notre arrivée sur le Fediverse est récente et les outils à ma disposition actuellement ne permettent pas de qualifier l’adhésion des membres de notre association à ces réseaux sociaux. Je constate juste que très peu de membres se sont créés des comptes sur le Fediverse mais ça ne veut pas dire qu’il ne le consulte pas ponctuellement ou même régulièrement puisque la création d’un compte n’est pas obligatoire pour accéder à ces contenus. D’après mes premières remontées d’information, se créer un compte sur le fediverse ne serait pas trivial … Un effort de formation devra sûrement être engagé sur ce point.

Parlons maintenant outils ! À ce jour, on en est où ? Quels outils ou services avez-vous remplacé, et par quoi, sur quels critères ?

Nous n’avons pas « remplacé » Meta, Les bars et les lieux culturels avec lesquels nous travaillons sont tous sur ces réseaux. Mais nous avons commencé à développer nos réseaux parallèlement sur le Fediverse.. Nous développons des usages qui nous permettent de mettre en valeur la souplesse de Mobilizon. De plus  keskonfai, pixelfed et Mastodon nous ont apporté une certaine visibilité supplémentaire dans les moteurs de recherche au contraire de Meta qui par exemple empêche l’intégration aux moteurs de recherche des événements publics que nous organisons  afin de nous forcer à acheter de la publicité pour les mettre en avant …
Note : Plus récemment j’ai découvert Linkstack une alternative sérieuse à Linktree.

Est-ce qu’il reste des outils auxquels vous n’avez pas encore pu trouver une alternative libre et pourquoi ?

Oui, bento. J’aimerai avoir une ferme de bento spécifique à notre asso mais je n’ai pas encore trouvé d’alternative à bento en logiciel libre. Voilà ce que nous faisons avec Bento : https://bento.me/strawberry-jam-band et nous avons une dizaine d’autres dans le même genre.

Avez-vous organisé un accompagnement de vos utilisateur⋅ices ? Si oui, de quelle manière (formation, tutos, support, etc.) ?

Non pas encore.  Mais j’y pense sous forme de vidéo conf sur Discord.

Est-ce que votre dégafamisation a un impact direct sur votre public ou utilisez-vous des services libres uniquement en interne ? Si le public est en contact avec des solutions libres, comment y réagit-il ? Est-il informé du fait que ça soit libre ?

Dans notre newsletter, j’ai largement communiqué sur keskonfai, pixelfed et mastodon mais cette communication doit être rappelée régulièrement et je vais m’y astreindre.

Un mot de la fin, pour donner envie de migrer vers les outils libres ?

Bénéficier de l’adhésion de toute notre communauté est un challenge que j’ai accepté. Il faut convaincre en allant à la rencontre des membres et en expliquant avec un argumentaire concret à toute épreuve qui voit avant tout leurs intérêts quotidiens !
Le potentiel du Fediverse est important. En tant qu’ingénieur, je vois bien les efforts d’interconnexion qu’il existe entre ces plateformes et je les apprécie en tant qu’utilisateur !
J’espère que d’ici 6 mois/un an, je pourrai faire un bilan très positif sur cette première étape dans la Dégafamisation !!
Merci de m’avoir donné l’occasion de m’exprimer sur ce sujet. Plus d’infos sur notre association : https://linktr.ee/AssoZikapanam



La nouvelle #solarpunk du jour : « 100 Papier »

Pour la deuxième fois, Framasoft participe, au sein de l’Université de Technologie de Compiègne (UTC), à une semaine de cours sur le thème des lowtechs et du Solarpunk.

Les étudiant⋅es ont pour mission d’écrire (sans se faire aider par l’I.A. !) des nouvelles dans cet univers, qui sont publiées ici et participeront à un concours organisé par Low-Tech Journal. Ces nouvelles ont été lues en direct sur la radio indépendante Graf’Hit. La lecture de cette nouvelle est écoutable ici :

Aujourd’hui, découvrons un étrange personnage accroc au papier dans un monde où ce matériau est devenu… interdit !

100 Papier

Auteur·rices : Zatar Myriam , ASPE Candice , MOURCHID Soumaya ,GAO Rongtian, KADRI Elias, Nkoumba Eric Donald

Ce document est disponible sous licence CC-BY-SA.

« Bonjour Paris, il est 8 heures, on est le 9 septembre 2042 et la journée s’annonce ensoleillée ! Aujourd’hui, je rappelle que c’est la douzième journée mondiale sans papier. Alors, la question du jour est : comment vivez-vous sans papier ? Tout le monde est invité à laisser un message sur notre ToothBook. »

« Bonjour à tous ! Vous êtes chanceux aujourd’hui, je suis un précurseur de la vie sans papier ! Je m’appelle Jordan. Ça fait 20 ans que je l’ai aboli. Avec mon casque VR et mon PC, je vis la belle vie tout en protégeant la planète. Je peux jouer à GTA et envoyer un mail en même temps ! Le papier était une véritable catastrophe écologique. Maintenant, je m’amuse sans couper aucun arbre ! » 

Léon Roman éteignit sa radio, marmonnant des injures : « Comment avez-vous pu… » 

« Chéri, regarde devant toi ! » s’exclama Juliette en tendant le bras depuis le siège passager. 

Devant, la police effectuait une fouille des véhicules. La voiture freina, écrasant la ceinture de sécurité sur le ventre arrondi de sa femme. Son mari inspira bruyamment, le cœur battant à tout rompre, face aux gyrophares bleus et rouges vers lesquels ils progressaient lentement. Il ne remarqua pas la goutte de sueur coulant sur son front. Le souvenir de sa rencontre avec la police lors de la précédente manifestation lui procura une impression désagréable. 
Loin d’être dupe, Léon respirait de plus en plus vite : de toute évidence, ils étaient en quête de contrebande. Et juste sous la banquette arrière de sa voiture se trouvait aujourd’hui le trafic le plus important au monde : du papier.

Un jeune policier, le regard vif et un sourire crispé sur le visage, s’approcha du jeune couple.

— Bonjour madame et monsieur, inspecteur Hernandez. Nous sommes tenus de contrôler tous les véhicules. Sortez du véhicule. Où allez-vous ?

— Nous allons à la campagne chez ma belle-famille jusqu’à l’accouchement de ma femme, répondit Léon, d’une voix plus aiguë que d’habitude. Un peu en retrait, Juliette observait l’échange, priant pour que l’interrogatoire se finisse sans encombre. Les deux policiers soulevèrent la banquette arrière, dévoilant une pile de livres, à sa grande surprise.

— Cela n’a rien à voir avec ma femme, vous ne…, s’écria Léon, avant d’être plaqué au sol.

— Épargnez-nous ces bêtises, vous en parlerez au juge.

Quelques mois plus tard, la jeune femme, son bébé sur les genoux, pâle de rage, recevait un appel. « Oui, Roman, ici Maître Gimenez. Je suis au regret de vous annoncer la condamnation à perpétuité de votre mari pour trafic de papier. »

« Bonjour Paris, il est 8h, on est le 9 septembre 2152 et la journée s’annonce caniculaire ! N’oubliez pas de vous hydrater et de vous abriter durant les heures les plus chaudes. On accueille aujourd’hui sur notre chaîne le spécialiste M. … »

Mathieu coupa l’hologramme en jurant. Encore une fois, il allait devoir installer le « Sunshade », un pare-soleil blanc de son invention. En effet, il a lu que le blanc est la couleur qui absorbe le moins la chaleur. Aujourd’hui, c’était le grand jour ! 

Mathieu descendit dans sa cave, pour échapper à la chaleur étouffante qui alourdissait l’atmosphère. Son plan, préparé depuis plusieurs années, nécessitait encore quelques retouches. Les escaliers craquaient sous ses pieds alors qu’il descendait dans l’obscurité rafraîchissante de sa bibliothèque secrète, héritée de sa famille. Des livres ouverts jonchaient le sol, annotés d’une écriture soignée. Les murs étaient couverts de câbles, de serveurs et d’écrans lumineux. 

9h00 : il s’installa devant son poste de travail, ajustant les lignes de code qu’il avait préparées. Chaque partie qu’il modifiait le rapprochait de son objectif : démontrer les vulnérabilités d’une société entièrement numérique.

J’ai jusqu’à minuit pour exécuter mon plan, avant la mise à jour des serveurs

Sous la pression, il fabriquait des cigarettes en déchirant des pages de livre. Des recettes de cuisine par-ci, des extraits de comédie par là. Après tout, qui aurait besoin de savoir faire une béchamel ou de lire des pièces ennuyeuses ? Les mots imprimés se transformaient en fumée et remplissaient l’air de la cave d’un épais nuage gris.

10h00 : il recevait un coup de fil de sa petite amie Soraya, ingénieure à l’Agence de Sauvegarde des Données Nationales. Une journée portes ouvertes du macro serveur X2150 était prévue sur invitation.

11h00 : il avait déjà fumé sa 39ème clope, le livre de cuisine arrivait bientôt à sa fin.
 11h45 : « ÇA Y EST ! », cria-t-il, « La clé USB est prête. »

Son plan était simple mais brillant. Le virus qu’il avait créé était conçu pour tout détruire sur son passage.

12h00 : pour se récompenser de sa victoire, il prit une longue inspiration : « il est temps de fumer ».

12h15 : Mathieu commença à préparer ses affaires. Je suis tellement stressé, je ne tiendrai pas la journée sans papier, songea-t-il en fouillant frénétiquement dans ses étagères. Il chercha un livre d’où il pourrait arracher des feuilles pour faire ses cigarettes. En ouvrant le premier venu, il découvrit d’anciennes notes familiales entre les pages. Submergé par la culpabilité, il referma délicatement le livre et en prit un autre. Cette fois, il choisit un vieux recueil de contes pour enfants et, avec une nouvelle pointe de honte, arracha plusieurs pages.

13h00 : il quitta son appartement en direction du centre-ville. Il marchait, jetant des coups d’œil à sa montre. Le bâtiment de l’ASDN n’était pas loin, mais chaque minute lui semblait une éternité.

14h00 : « Bienvenue, mesdames et messieurs, à la journée d’inauguration du Macro serveur X2150 », annonça un présentateur.

15h00 : après avoir fait une visite guidée des lieux avec Soraya, Mathieu se dirigea vers le stand d’exposition de la maquette du X2150.

16h00 : un baiser langoureux lui permit de subtiliser à Soraya son badge d’accès à la salle des machines.

17h00 : Mathieu n’avait toujours pas trouvé la salle des machines, peu habitué à utiliser la padlocalisation. Il se cacha pour fumer des clopes de plus.

18h00 : après plusieurs essais, il réussit enfin à identifier le chemin d’accès vers la salle des machines.

19h00 : Mathieu effectua un dernier tour en salle des machines. Puis il rejoignit Soraya dans le hall.

20h00 : des applaudissements retentirent en l’honneur de Soraya. Sa présentation fit un carton !

21h00 : Mathieu s’approcha pour la féliciter. Il se dirigea vers les toilettes avant de rejoindre la salle des machines.

22h00 : les mains tremblantes, il inséra sa clé USB dans un serveur. La barre de transfert s’afficha à l’écran : « Téléchargement du fichier en cours  %2 % ». Ça y est, j’ai réussi ! Épuisé et ruisselant de sueur, il se laissa tomber sur une chaise. Il profita de cette pause bien méritée pour entamer sa 87ème clope de la journée.

22h10 : « OÙ EST MON BADGE ?! » s’exclama Soraya. Elle fonça à son bureau et se jeta sur son PC. Elle localisa le badge dans la salle des machines et remarqua le téléchargement d’un fichier inconnu en cours. Elle parvint à le stopper puis prévint la police.

22h30 : des bruits dans le couloir de plus en plus proches se firent entendre. Mathieu barricada la porte. « POURQUOI LE TÉLÉCHARGEMENT N’AVANCE PLUS ?! ». Des mégots s’accumulaient au sol, une voix grave se fit entendre de l’autre côté de la porte :

— Police ! Sortez immédiatement ou on enfonce la porte !

Illustration « Smoke design » par Hervé Simon (CC By Sa 2.0)

— Je vous interdis de tenter quoi que ce soit sinon JE VAIS TOUT CRAMER ! La sueur perlait sur son front, et chaque mouvement semblait plus laborieux que le précédent. La patience des policiers était mise à l’épreuve. Certains d’entre eux commençaient à se lasser de cette opération. D’autres vérifiaient leur équipement. Quelques-uns échangeaient des blagues nerveuses pour alléger la tension.

23h00 : assis dans la pénombre, les mains tremblantes, le regard perdu, il savait que la police finirait par entrer. Ses pensées tourbillonnaient, une tempête de regrets et de colère contre une société qui l’avait poussé à bout. « Pourquoi ? » murmura-t-il en fixant la barre de téléchargement statique. « Une société sans âme, sans mémoire. Ils disent que le papier est obsolète, que tout doit être numérique. Mais le papier, c’est l’histoire, c’est la culture, c’est nous. »

23h12 : il se leva lentement, les jambes flageolantes, et s’approcha de la porte. « Si près du but… »

— Commissaire, il faut intervenir, on ne peut pas attendre plus longtemps !

— Non, surtout pas. Les serveurs sont trop précieux. Si on cause des dégâts, ce sera encore pire. La seule chose qu’on puisse faire, c’est le persuader.

23h28 : il fuma sa dernière lueur d’espoir avec sa 100ème clope, ignorant les appels insistants de la police.

00h00 : Les larmes coulaient lentement sur ses joues alors que la fumée noire envahissait la pièce, une chaleur intense l’enveloppant. Les alarmes se déclenchèrent, stridentes. « Peut-être qu’un jour, ils comprendront… »

« Bonjour Paris, il est 8h, on est le 10 septembre 2152, et la journée s’annonce étouffante ! Aux dernières nouvelles, un acte terroriste a été commis cette nuit. La salle des serveurs de l’ASDN a été incendiée, entraînant la perte totale des données du pays. L’auteur de cet acte, identifié comme Mathieu Roman, descend d’une célèbre famille de terroristes. Il a péri dans l’incendie. »

Soraya, encore sous le choc des événements de la veille, écoutait le cœur serré à l’annonce du nom de Mathieu. « Non… ça ne peut pas être vrai… »

50 ans plus tard… Des enfants s’amusaient dans le parc. L’un d’eux s’aventura un peu plus loin qu’à son habitude. Et là, il l’aperçut, à moitié caché sous une pierre, un livre abîmé intitulé « La culture des pommes de terre au XXIe siècle ». Il y manquait des pages… Fier de sa trouvaille, le petit garçon courut montrer le livre à ses parents.

« C’est quoi, les pommes de terre ? »

"Solarpunk flag, blue diagonal" by @Starwall@radical.town is licensed under CC BY-SA 4.0.