Enquête Framalab : ce sont vos besoins qui comptent
Partagez vos retours et besoins sur les outils en ligne présentés sur Framalab en vous exprimant dans notre enquête. Vous avez 15 jours pour contribuer ainsi à Framasoft !
Framalab, un labo pour tester des services libres
Il y a trois mois, Framasoft ouvrait Framalab, un laboratoire ouvert à toustes, qui permet de tester des services libres en ligne.
Notre objectif est de savoir si de tels outils peuvent répondre à vos besoins, à vos attentes, et quelles améliorations leur apporter pour que vous les adoptiez.
Ces logiciels libres sont proposés « tels que développés par leur communauté » et vous permettent de :
Essayer et s’exprimer, une autre manière de contribuer
Pour savoir comment vous aider à émanciper vos pratiques numériques, le mieux c’est encore de s’adresser : à vous ! C’est bien beau de vous proposer de tester les outils du laboratoire Framalab (et allez-y, hein : ça reste ouvert !) ; mais c’est quand même mieux de savoir ce que vous pensez de ces tests.
Du 24 septembre au 8 octobre, nous ouvrons donc une enquête Framalab, afin de récolter vos avis et vos besoins !
Répondre à cette enquête devrait vous prendre 10-15 minutes. Ces retours seront précieux pour Framasoft, car ils nous permettront de mieux décider sur quels services concentrer notre travail.
Nous sommes aussi persuadées que vos réponses à cette enquête seront importantes pour les communautés développant ces logiciels libres, et pour d’autres qui pourront s’en inspirer. C’est pourquoi nous nous engageons à en publier les résultats (après les avoir dépouillés et anonymisés, bien entendu ^^).
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.
Screenshot of Ownership Transfer (also available in English)
Screenshot of Ownership Transfer (also available in English)
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.
Interface adapted to OT for choosing the file to be transferred
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 😉
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.
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.
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.
Sorts Interface adapted to OT for choosing the file to be transferred
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 😎
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 !
Candidater et proposer votre CV à Framasoft : envoyez un mail à 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)
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.
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).
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é.
Nous nous impliquons cependant au sein d’Interhop et de Toobib pour la proposition de services numériques éthiques en santé. Nous avons également identifié un service de téléconsultation open-source.
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 !
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.
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.
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.
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.
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.
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?
OwnerShipTransfer : Transférer des données/fichiers d’un utilisateur à l’autre
Sélection de fichier dans l’app « OwnershipTransfer » (travail en cours)
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!
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.
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.
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é.
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.
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).
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é.
OwnerShipTransfer : Transférer des données/fichiers d’un utilisateur à l’autre
Sélection de fichier dans l’app « OwnershipTransfer » (travail en cours)
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 !
Candidater et proposer votre CV à Framasoft : envoyez un mail à 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.
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