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 !




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 !




Argos Panoptès, l’interview

Pour Framaspace, Framasoft a fait développer un outil de supervision de sites web nommé Argos Panoptès (ou juste Argos pour aller plus vite).

Développé par Alexis Métaireau, développeur entre autres du générateur de site statique Pelican, et de l’outil de gestion de dépenses à plusieurs « I Hate money » (repris dans l’app cospend sur Nextcloud), le besoin a été défini par Luc Didry, l’administrateur système de Framasoft.

Luc et Alexis répondent à nos questions dans cet interview, pour plus d’information concernant Argos vous pouvez consulter l’article dédié.

Bonjour à tous les deux 🙂 Ici on connaît déjà Luc puisque c’est notre admin sys préféré, mais Alexis, peux-tu nous dire qui tu es pour le framablog ?

Alexis : Bonjour, Framasoft, et merci pour la discussion ! Et bien, c’est parti pour l’exercice de la présentation alors.

Je suis un développeur de bientôt 40 ans, intéressé par les dynamiques collectives, le logiciel libre et la protection des données personnelles, depuis quelques années maintenant. Par le passé j’ai pu publier et maintenir quelques outils comme Pelican, un générateur de sites statiques et I hate money, pour gérer les dépenses partagées. J’ai travaillé quelques années pour Mozilla sur la partie synchronisation et chiffrement des données (Firefox Sync, Kinto) et sur quelques autres outils.

J’ai quitté le développement « pro » entre 2018 et 2023. Durant ces années j’ai eu la chance / le privilège de pouvoir monter une brasserie sur Rennes avec un ami. Nous avons essayé de faire vivre les valeurs de la collaboration (plutôt que celles de la compétition). Cela est resté très proche des valeurs du logiciel libre, nos recettes et les plans de nos machines étant par exemple publiés sur notre site web.

À l’été 2023 j’ai décidé de quitter la brasserie pour à la fois refaire du développement et travailler sur les outils de la prise de décision collective, et la gestion des conflits dans les collectifs. C’est à ce moment que nous sommes rentrés en contact avec Luc pour travailler sur Argos.

Pouvez-vous nous présenter l’outil Argos sur lequel vous avez travaillé ? À quel besoin répond-il pour Framaspace ?

Alexis : Argos est un outil de supervision de sites web. L’idée est assez simple: surveiller que les sites vont bien, et générer des alertes quand c’est utile, en envoyant des notifications par email ou autre.

La spécificité d’Argos est de pouvoir gérer un nombre de sites important. Framaspace, en grossissant, expose pas loin de 900 domaines au public, qui parfois tombent en panne. Je crois que le réel besoin derrière Argos était de simplifier la vie de Luc (vous saviez qu’il n’y avait qu’un seul adminsys chez Framasoft ?!!) et de lui permettre d’avoir une meilleure vision globale de l’état du service.

Les vérifications concernent les statuts du site web, mais aussi l’état des certificats SSL, par exemple, et quelques vérifications spécifiques.

Luc : On surveillait déjà plus de 200 sites via notre outil de supervision (Shinken), mais celui-ci, avec toutes les autres sondes de supervision de notre infrastructure, avait bien de la peine à repasser toutes les 5 minutes sur les sites. Ce qui faisait qu’on pouvait se rendre compte qu’un site était tombé au bout de trop de temps.

Avec Framaspace, je savais que j’aurai des centaines (et à terme des milliers) de sites à surveiller en plus, sachant qu’un site est la cible de plusieurs vérifications, comme dit par Alexis. Il fallait donc un outil dédié.

Les outils existants comme statping-ng ou Uptime Kuma présentent un défaut rédhibitoire : vouloir afficher l’état de chaque site en même temps sur l’interface web. Ça va bien quand on a quelques sites, pas quand on en a des centaines (l’outil peine à envoyer les données de centaines de sites).

C’est de là qu’est née l’idée d’Argos, qui a le bon goût de n’afficher qu’un résumé de l’état des sites par défaut.

 

4 blocs avec des statuts (inconnu, ok, avertissement, erreur) et pour chacun, un nombre correspondant.
Capture d’écran de la page de statut d’Argos

 

Si on regarde de plus près les coutures, on voit que c’est développé en langage Python avec une base de données en PostgreSQL. Laissez-moi deviner : Alexis a choisi Python et Luc a choisi PostgreSQL ?

Alexis : Ah, je vois que tu nous connais un peu, mais figure toi que même pas ! J’aurais aimé plaider coupable pour le coup, mais Luc cherchait spécifiquement quelqu’un qui savait faire du Python, et c’est comme ça qu’on s’est rencontré. J’ai proposé d’utiliser le framework FastAPI à la place de Flask parce que ça nous permettait de faire de l’asynchrone de manière plus simple, et d’utiliser les fonctionnalités de typage de Python.

Luc : Pour Framaspace, j’ai été plus ou moins obligé de faire du Python car Salt, l’orchestrateur utilisé pour déployer les espaces est en Python : je pouvais, en utilisant ce langage, l’utiliser comme une bibliothèque, sans utiliser de bidouilles sales.

Comme Argos a été créé dans le cadre de Framaspace, j’ai voulu garder le même langage de programmation, pour avoir un tout cohérent.

Python n’est pas un langage si pire que ça. Il n’est pas amusant, mais ça fait le job. Peut-être aussi que je vieillis : j’utilise de plus en plus Python pour des scripts. Peut-être qu’écrire des scripts ne m’amuse plus, et que je veux les écrire vite pour passer à autre chose.

Mème the Rock qui conduit - Et ton machin va être en Perl, comme d'hab - Non j'ai choisi Python cette fois The rock se retourne, interloqué

La question habituelle de libriste : pourquoi avez-vous choisi de développer un outil dédié, il n’existait pas d’outils libres pour de la supervision ? Quelles sont ses spécificités ?

Alexis : Je te laisse répondre Luc, c’est toi qui a affiné le besoin 🙂

Luc : Ah bah zut, j’ai déjà répondu au-dessus 😅

L’avantage d’avoir notre propre outil nous permet aussi de le tordre pour nos besoins spécifiques. Ainsi Argos envoie-t-il des notifications à notre serveur Gotify. Intégrer un tel canal de communication dans un outil existant aurait pu prendre du temps (comprendre le code, faire une PR, attendre une release…).

En lisant la doc, ça a l’air tout simple à utiliser par rapport à d’autres outils !! Comme administrateur⋅ice système du dimanche après-midi, si je veux surveiller l’état de mes sites, est-ce qu’il y a des pièges ou des choses à savoir ?

Alexis : Je pense que ça pourrait tout à fait permettre de surveiller l’état de quelques sites, bien que peut-être surdimensionné. Argos a besoin de lancer un serveur, une base de données et des agents. Est-ce bien utile pour un⋅e adminSys du dimanche ? Peut-être !

Luc : Franchement, je pense qu’il peut être utilisé aussi bien par une grosse organisation que par un·e adminSys du dimanche. La configuration est simple, l’installation pas très compliquée, et il n’a pas l’air de consommer beaucoup de ressources.

Alexis tu étais en mode prestation pour développer, comment s’est passée la relation avec Framasoft ?

Alexis : Franchement, c’était une surprise totale, et un plaisir du début à la fin. On a d’abord pu se faire quelques appels avec Luc pour clarifier les besoins, je me suis retrouvé avec une liste de fonctionnalités de base, et j’ai avancé comme ça.

Quand j’avais besoin j’ai pu échanger avec Luc qui était toujours assez réactif, et j’ai pu lever quelques blocages. J’ai beaucoup apprécié répondre à un besoin concret, en ayant l’utilisateur final au bout du fil pour clarifier les choses.

Par la suite, on a pu se faire quelques sessions ensemble, à la fois de présentation de l’outil, puis de pair-programming pour accompagner Luc sur certains aspects quand c’était utile, l’idée étant que ce soit lui qui prenne la main sur le projet.

C’était en fait ma première mission en tant que « prestataire », je crois que je suis très bien tombé !

Luc : Pareil de mon côté, c’était très agréable de bosser avec toi !

Est-ce que vous pensez que ça peut être utilisé dans d’autres contextes que Framaspace ?

Alexis : je pense que ça peut être utilisé dans d’autres contextes bien sûr. Je pense aux « fermes de sites », comme par exemple ce que peut faire NoBlogs en Allemagne, mais de manière générale c’est utile d’avoir un outil simple d’accès pour faire de la supervision. Bosser là-dessus m’a donné envie de permettre de faire de la supervision « en tant que service », pour des collectifs pour qui ce serait utile, mais… j’imagine que c’est une autre histoire.

Luc : Carrément ! Pas seulement pour des fermes de sites mais partout où on a besoin d’une supervision qui passe très régulièrement. On peut avoir des vérifications effectuées toutes les minutes, ce qui peut être utile sur des sites qui ne doivent pas tomber. Et un grand nombre de sites ne devrait pas faire peur à Argos : on peut multiplier le nombre d’agents (le logiciel qui s’occupe d’effectuer les vérifications et d’en remonter le résultat au serveur), et le choix de PostgreSQL comme base de données a (aussi) été fait parce que c’est un SGBD robuste qui peut encaisser de la charge de travail.

Et est-ce que vous imaginez une suite, avec une feuille de route ou des invitations à contribuer ?

Luc : Il y a déjà des idées de développements futurs pour améliorer Argos, mais ça n’est pas urgent : la première version est déjà tout à fait fonctionnelle.

Alexis : J’aime bien l’idée de ne pas avoir de feuille de route trop précise pour le futur, ce qui nous permet de se concentrer sur des besoins réels et de ne pas en faire une usine à gaz. Si vous l’utilisez et que vous avez des retours à faire, ou bien si vous souhaitez contribuer, n’hésitez pas. C’est pensé pour être simple à étendre, donc n’hésitez pas à jeter un œil et à proposer des changements.

Si vous avez encore des choses à dire 🙂

Alexis : Coucou Numahell, chouette de te recroiser par ici après ces quelques années 🙂

Luc : Merci à toi, Alexis, pour le temps bénévole que tu as consacré à Argos après ta prestation !

Pour aller plus loin




700 organisations already up in the (free) clouds : Framaspace’s first year in review

The aim of this long article is to take stock of the Framaspace project (an associative cloud based on Nextcloud) a little over a year after its announcement.

🦆 VS 😈: Let’s take back some ground from the tech giants!

Thanks to your donations to our not-for-profit, Framasoft is taking action to advance the ethical, user-friendly web. Find a summary of our progress in 2023 on our Support Framasoft page.

➡️ Read the series of articles from this campaign (Nov. – Dec. 2023)

 

Once upon a time there was Frama.space

Remember, a year ago we announced (in French, sorry!) one of Framasoft’s most ambitious projects: Frama.space.

For those of you who weren’t there, or who don’t remember, the desire to set up Frama.space was based on three things.

The first is that things are fucked. Politically, socially, geopolitically, ecologically and so on. Of course, you may think otherwise, but we don’t think the world is going very well…

The second observation is that civil society, caricatured here as associations and trade unions, is under attack from all sides. The pressure to depoliticise associations, the reduction of their funding in favour of « impact companies » or the start-up nation, the attacks on freedom of association… All this is eroding the capacity of the voluntary sector to respond to needs that the market cannot meet. It is becoming increasingly difficult to balance a social contract that is being undermined by both business and government.

The two buttons meme, illustrating Associations choosing between "Selling out to corporations" and "Bowing to the state"

 

Finally, closer to Framasoft, digital technology has become a tool for organising people, but also for taking action. However, this rather positive observation is countered by two more negative observations. Firstly, digital technology is a tool for surveillance and alienation. And secondly, associations are lagging behind both in terms of use and consistency (The report in the link is in French, sorry!). Associations working for an ecological transition, for example, will use the tools and services of GAFAM, which play a large part in the problem they are trying to solve.

Frama.space: (Next)cloud for non-profit organisations

A year ago we announced a new Framasoft service: Frama.space.

Its mission? To equip the ‘contributing society’. In other words, to digitally equip « off-market » associations and groups. Whether it’s the AMAP in FarFarAway-town, the community café in Bernache-sur-Yvette or the queer theatre collective in Cygne-lès-Lavaur.

We believe that these associations and collectives need (and even want) to rediscover the coherence between their values, their actions and their tools. It seems contradictory to us, for example, to be an association committed to « zero waste » and still use Google or Microsoft tools.

Please note that this is not a value judgement on our part. We fully understand that there may be contradictions and legitimate objections (it is perfectly possible to be concerned about the fate of the planet and still drive your children to a weekly sports activity 20km away).

However, we believe it is important that these structures have the choice to have easy access to tools that are not based on the mechanisms of surveillance capitalism.

Interface d'un Framaspace (application "Fichiers")
Framaspace interface (« Files » application)

Nextcloud: an imperfect solution (but a solution nonetheless)

Framaspace embarque les suites bureautiques en ligne collaboratives Collabora Online et OnlyOffice. Ici, une capture écran de l'édition d'un fichier de type Tableur, directement dans le navigateur.
Framaspace includes the collaborative online office suites Collabora Online and OnlyOffice. Here is a screenshot of a spreadsheet being edited directly in the browser.

 

The software has a lot of room for improvement (in terms of UX, technical debt, performance, etc.), but… it’s still the best horse in the stable.

What’s more, its community is large (over 60 million users worldwide) and quite active, which gives us hope for the future.

We have therefore decided to base our Framaspace offering on this software, proposing a technically ambitious offering capable of eventually hosting up to 10,000 Framaspace spaces (and therefore as many instances of the Nextcloud software). To achieve this, we have built a substantial technical infrastructure (the video link is in French, sorry!) and developed homemade software tools (free of charge, of course) to validate registration requests and automatically provision new spaces very quickly, with just a few clicks.

Interface de CHARON, logiciel qui nous permet de gérer les candidatures Framaspace
Commented interface for CHARON, the software developed by Framasoft that allows us to manage Framaspace applications. (Commentary in French, but if you want more information on this point, ask us in the comments section bellow!)

 

But enough of reminiscing: if you want to know more about the ambitions behind Framaspace, you can watch two videos:

Taking stock, calmly

Frama.space becomes Framaspace.org

First of all, we already had to change the name because the .space extension increased the likelihood that emails containing frama.space addresses would be considered spam. This was obviously the fault of the email giants (article in French, sorry!), but we couldn’t accept a solution that would interfere with the normal use of the platform. So we decided to use a domain name with a more traditional but longer extension: framaspace.org.The transition is underway and will take place in stages as there is no rush.We also announced that we have four objectives:

  1. Facilitate access to Nextcloud/Framaspace
  2. Raise awareness of Nextcloud/Framaspace
  3. Contribute to the creation of a French-speaking Nextcloud/Framaspace community
  4. Use Nextcloud/Framaspace as an empowerment tool

This first anniversary is therefore a good time to take stock of each of these objectives.

Functional assessment: does it work or not?

Yes, it does!

While you are reading these lines, more than 700 spaces are active. This means that Framasoft provides tools to 700 associations and groups. And the feedback is very positive!

We have been able to carry out complex operations without too much difficulty. For example, we’ve carried out major upgrades of Nextcloud (from version 25 to version 26) with very limited downtime (less than 2 minutes per space).

As far as the technical infrastructure is concerned, there are occasional potholes, but the infrastructure is holding up!

For example, at the end of 2022 we noticed that there was a problem with our office suite management system. With the year-end holidays just around the corner, followed by intense preparations for the Framasoft AGM, we decided to suspend registration and take the time needed to develop a long-term solution. We reopened the registration in March 2023. So, in case you missed the news: it’s perfectly possible to register your association or collective on https://framaspace.org!

The fact that it’s Framasoft that manages the technical aspects can have certain disadvantages (we limit the number of accounts, disk space or Nextcloud plugins you can use). However, this outsourcing makes life much easier for the users (who, in most cases, would find it very difficult to maintain over time an instance of Nextcloud software that they would have installed ‘manually’).

In one year, we have gone from 0 to more than 700 spaces managed by Framasoft. We therefore consider this functional assessment to be more than satisfactory.

Illustration de DemonDrive, un monstre fantomatique orné du logo de Google Workspace
Click to support us and push Demon Drive away – Illustration CC-By David Revoy

Public awareness

One of Framaspace’s objectives is also to raise awareness of Nextcloud and the Framaspace offer (or similar offers elsewhere, in particular at CHATONS).

To this end, in 2023 we will:

On a report card, we could write: « Not bad, but can do better ».

« Community » review

This concerns our desire to build a community of French-speaking Nextcloud users in the long term.

To this end, we have:

This part of the project got off to a rather slow start, but that’s quite logical, because for various reasons we were not able to devote as much time to this part of the project in 2023 as we would have liked.

Empowerment assessment

This part of the project is planned for 2025. There were no plans to work on it in 2023. So it’s logical that we haven’t made any progress on it.

Slide "empuissanter" rappelant une partie des objectifs de Framaspace.
The 5 key points of this « empowerment » slide: Disseminating information / Working together to identify needs / Transforming uses / Federation / Pooling funding for certain functionalities

Project stats

Here are some numbers to give you a more objective view of the first year. If you’re not interested, you can skip to the « Review of the review » section 🙂

Typology of the structures

Breakdown by type of structure

Répartition des espaces par types de structures
Breakdown of spaces by type of structure (Colours explained below)

 

Description :

  • 72% associations under the law of 1901(yellow);
  • 22% informal groups (pink);
  • 5% trade unions (green);
  • 1% associations under the 1907 law (mixed/cultural associations) (blue).

Breakdown by activity

Répartition des espaces, par secteurs d’activités

Description (note: organisations could choose more than one topic):

  • A first « block » of more than 250 organisations in the following sectors or themes Education/training, environment, culture, social affairs;
  • a second « block » of more than 100 organisations claiming to be active in the following sectors or themes: Friendship/Mutual Aid, Leisure, Defence of Fundamental Rights, Political Activities, Economy and Social Affairs: Amicale / Entraide, Loisirs, Défense des droits fondamentaux, Activités politiques, Économie ;
  • a final « block » of less than 100 organisations claiming to be active in the following sectors or themes: Sport, Health, Research, Justice, Spiritual or philosophical activities, Tourism.

Breakdown by year in which the structure was created

Répartition des espaces par année de création

Description: 50% of the 700 spaces correspond to structures created in 2017 or later. Even if a dozen structures existed before 1950, we can deduce that the Framaspace public as a whole represents rather recent structures.

Breakdown by number of persons employed

Répartition des espaces par nombre d'employé⋅es

Description and comments: 500 of the spaces (71% of the total) are structures with no employees. There are a few structures with more than 20 employees, but these are often « anomalies » (for example, the space is created for a local trade union group, which indicates the number of employees of the national trade union).

Breakdown by number of members

Répartition des espaces par nombre de membres.Description: Half of the spaces represent organisations with less than 30 members. 75% say they have 100 members or less.

Breakdown by number of beneficiaries

Répartition des espaces par nombre de bénéficiaires.

Description: Half of the spaces represent organisations claiming to reach 100 people or more. There are a few organisations claiming to reach more than 25,000 people, but these are often « anomalies » (for example, the space is created for a local trade union group, which indicates the number of beneficiaries of the national trade union).

Breakdown by annual budget

Répartition des espaces par budget annuel

Description: 150 organisations did not wish to answer this question. Of the remaining 550 organisations, half said they had an annual budget of less than €4,000 (around a hundred organisations even said they had a budget of €0). About 25% of the organisations reported having a budget between €4,000 and €50,000 (which can be correlated with organisations having at least one⋅e employee⋅e). A handful of organisations report a budget of more than €50,000/year, but again these are mostly ‘statistical anomalies’.

Examples of structures

NB: These associations have presented themselves publicly on the Framaspace forum, so we have no problem with their identity or purpose being made public.

For example:

« Hello. We’re the « Les petits pois sont verts » association in Clamart. Our aim is to imagine and build a way of life based on solidarity and respect for the environment by ..:

  • Bringing together people in Clamart who share the same motivations,
  • encouraging local dynamism
  • supporting projects,
  • gathering and disseminating information.

We are only a few years old and we advocate the use of free and sober digital technology.

We use the following Framasoft tools Framapad, Framadate and recently Frama.space. »

Or again:

« The Association des Cavaliers Au Long Cours (CALC) is a French-speaking association with about 200 members from all over the world (our most distant member is in Kyrgyzstan!), but mainly from Western European countries. Our aim is to develop long-distance travel with a mounted and/or covered animal (horse, donkey, mule, etc.). We also help would-be travellers with their organisation and provide assistance to travellers in difficulty ».

Other examples:

  • Plan B – Breton Pop Education Association (Rennes)
  • AMAP of St Vallier de Thiey (Alpes Maritimes)
  • La Gonette – local currency for citizens (Lyon)
  • Les amis du Portique – Journal of Philosophy and Human Sciences
  • Les Pieds à Terre – environmental education (Haute-Loire)
  • Family planning in the Aude

Use of structures

Office suites used

Répartition des Framaspaces entre Collabora Online et OnlyOffice
Distribution of Framaspaces between Collabora Online and OnlyOffice

 

NB: The overrepresentation of Collabora Online is due to the fact that it is the office suite offered by default. The administrator of the instance can switch to OnlyOffice if they wish, but very few do.

Usage stats
  • Number of active
    • Active: 700
    • Rejected: 14
    • Deactivated (by their administrators) 10
  • Accounts (admins + users): 3,356
    • Average: 4.8 accounts; Median: 2 accounts
  • Hosted user files: 760,939 for 860 GB (excluding revisions and recycle bin)
    • 131 GB in recycle bin
    • 99% of spaces have created at least one file
  • Connections:
    • 198 rooms connected in the last 3 days
    • 390 rooms connected in the last 15 days

Number of accounts

Répartition des espaces par nombre de comptesDescription: almost 300 rooms have only one account (necessarily the « admin » account). This means that 40% of the spaces have no collaborative use with other users. However, we did find cases where the space admin did have collaborative uses with other people in his or her association (for example, by using shared folders, with or without passwords). This means – all the same – that 60% of the spaces have several users. 42% even have 5 or more users.

Used disk space

Répartition des espaces par espace disque occupé.

Description: almost all spaces have used their file space (only 2% have never created a file). It is interesting to note that less than 20% of the spaces use more than 1 GB (out of a maximum of 40 GB per space).

Number of files

Répartition des espaces par nombre de fichiers.

Description: 50% of the rooms have more than 250 user files. This is a good « surprise » in our opinion: it means that Framaspace is quite useful (either for storing or sharing files).

 

Balance sheet

Expenses

At present, the technical infrastructure (computer servers) of Framaspace costs us about 1,200 € per month (i.e. about 15,000 € per year). The cost of the work, estimated by the very inaccurate LaLouche Institute, is around €20,000 of investment before the launch of the project. Since the start of the project, we’ve been able to estimate this figure at around €2,000 per month (3 people involved, working very, very part-time on this project). So, roughly speaking, Framaspace has cost Framasoft around €60,000.

Income

The income side is a bit more complex.

Framaspace is a project reserved for small associations and solidarity groups, and it is deliberately free. We don’t want the price to be a barrier to access. And we don’t want to set a « free price », because a price means a service sold, a service provided, an invoice and obligations (contractual, accounting and fiscal). We voluntarily choose to donate without expecting any financial compensation (which does not mean that we cannot hope for it 😉 ).

It is likely that some members of the associations we host have made a donation to Framasoft. However, we do not want to earmark donations for Framasoft projects. For accounting purposes, a donation earmarked for a project must go into a dedicated fund that must be used for that project. However, we would like donations to Framasoft to be able to finance « loss-making » projects, which is exactly what Framaspace is doing in this first year.

For the sake of simplicity we can say that the income is… €0! 😱

Cost per space

From the above data, we can deduce that the cost of a space (so far) is €86 per year (or €7 per month, of which €1.8 per month is infrastructure costs).

However, the infrastructure costs are not expected to change too much and the labour costs are expected to increase slightly by 2024, while the number of spaces could triple or quadruple. Let us assume a total cost of €60,000 (for 2023) + €15,000 for the servers in 2024 + €36,000 in labour costs. This gives a total of €111,000 by the end of 2024. Assuming 2,500 active spaces at the end of 2024, the total cost would be €45 per space per year (i.e. €3.7 per month, including €1/month for infrastructure costs). These costs could fall further in 2025.

It’s a significant cost, and few associations can afford this type of project, which does not aim to be profitable or even break even.

However, we believe that the political importance of this project means that we have to take this risk. We hope (more from experience than naivety) that the associations that can afford it will support Framasoft (and indirectly Framaspace) financially.

Review of the review

The news is pretty good!

Mème Framaspace reprenant la célèbre phrase du biologiste Richard Dawkins, au sujet de la science, affirmant "It works, Bitches".
Framaspace meme using biologist Richard Dawkins’ famous line about science, « It works, Bitches ». (context; PeerTube video)

 

First of all, Framaspace works 🙂
Managing 700 Nextcloud instances in one year isn’t bad, is it? Especially since outsourcing is going pretty well (for now!).

Secondly, we’ve managed to reach the audience we wanted to reach: associations (registered or de facto) that are fairly small, with small budgets. Most of them focus on education, the environment, social or cultural issues. Which is hardly surprising given Framasoft’s target audience.

Finally, Framaspace is used. More than half the spaces have regular connections. And people handle quite a lot of files (rather small files, which explains why very few spaces use more than one GB of the maximum 40 GB allowed).

We feel that our 2023 goals have been more than adequately met in terms of actions 🎉 We could even say that it’s a success given the resources we’ve invested.

Offering « locked » spaces (for example, you can’t install the Nextcloud plugins of your choice on Framaspace, and only small associations or collectives can open a Framaspace) has had the expected frustrating effect. In fact, we have regularly referred people frustrated by these limitations to friendly structures such as Zaclys, IndieHosters, Cloud Girofle, Paquerette, Arawa, etc. This shows that we’re not taking a « slice of the cake », but helping to make it bigger.

Dessin de Li, la licrone mascotte de Framaspace. Elle s'apprete à lancer des bulles magiques.
Click on Li, Framaspace’s unicorn mascot, to support Framasoft. – Illustration CC-By David Revoy

Framaspace in 2024 (and 2025)

As you may have read in our ‘assessment of the assessment’, Framaspace is meeting a need, and Framasoft believes the response is pretty good. It’s far from perfect, of course, but for a small association that wants to get out of the box and align its values with its digital tools, Framaspace could be the answer.

But we’re not going to stop there! Framaspace is still in beta testing (and will probably be until the end of 2025!) and many improvements are still to come 😀.

Support

First of all, we’re going to keep hosting spaces. Now that Framaspace is more stable, we think we can pick up the pace and host 2,500 spaces by the end of 2024 (i.e. more than triple the current number. Don’t worry!).

Next, we’ll continue our outsourcing initiatives. For example, by moving from Nextcloud 26 to Nextcloud 27 in late 2023 or early 2024. Each version brings a host of new features (see our friends at Arawa who give a summary presentation here and here).

On the support side, we want to produce a bit of a special tutorial. In fact, many tutorials already exist (we highlight the Coopaname one, produced by La Dérivation). But this type of tutorial doesn’t meet everyone’s needs. That’s why we want to produce a more narrative and immersive tutorial. A « tutorial in which you are the hero » (or « tricks in which you are the heroine », if you prefer). Inspired by « Books in which you are the hero« , the user⋅ice will embody a character who has to carry out various missions with his or her Framaspace room. The special feature is that certain « quests » can either be bypassed (for example, if the user⋅ice already knows how to create a user⋅ice account) or explored in more depth (for example, on file sharing).

Scénario en construction d'un « tutoriel dont vous êtes le héros »
Scenario under construction for a « tutorial in which you are the hero ». Sorry, the translator didn’t have the courage to translate every box!

 

We also want to provide documentation (and facilitation tools) to facilitate migration from OneDrive, Dropbox or GoogleDrive, and to simplify import/export between Nextcloud instances. For example, an association that has reached the 50 account limit on its Framaspace space and wants to migrate to a more powerful Nextcloud with our friends at IndieHosters would be able to transfer its data – files, calendars, contacts, etc. – in a more automated way.

Finally, we are aware that one of the major weaknesses of Nextcloud (and by extension Framaspace) is the difficulty of « onboarding » novices to a (too?) rich and sometimes (very?) confusing interface. That’s why we want to integrate the free IntroJS tool into Nextcloud to highlight certain parts of the software and make it easier to learn. See the video below.



 

Video demonstration of how IntroJS has been integrated into Nextcloud to make it easier to learn.

Still on the subject of getting started, we’re working with designer Marie-Cécile Godwin, who teaches at the Strate design school, to get her students thinking about how Nextcloud could be improved from a UX and UI perspective.

Raising awareness of Nextcloud

In 2024, we will of course continue our efforts to make Nextcloud better known in the French-speaking world.

For example, we have already subtitled a number of Nextcloud presentation videos in French. But we’d like to go further. For example, we’d like to redo the voice-overs or translate the documentation (flyers, brochures, etc.).

 

Video of a Nextcloud promotional video, originally in English only and subtitled by Framasoft.

Framasoft will also continue to promote Nextcloud and Framaspace through conferences, webinars, interviews, etc.

We will also continue to share our experience and feedback with the CHATONS community, many of whose members offer services based on Nextcloud. We think we’ve acquired a certain amount of knowledge and know-how around Nextcloud, but above all we know that we still have a lot to learn.

Finally, we’re going to start getting in touch with the heads of associative networks (Collectif Associations Citoyennes, Mouvement Associatif, popular education networks, but also networks such as Associations Mode d’Emploi, Solidatech, Associathèque, etc.) to present Framaspace, and highlight what Nextcloud can do (or can’t do!) in terms of collaborative ethical digital technology. The ultimate aim is to assess its relevance as a « digital commons of general interest » for associations.

Framaspace & Nextcloud user community

In 2024, we will continue our work to promote, animate and coordinate a community of Nextcloud software users on the Framaspace forum.

We will also publish a website for the OPEN-L Observatory (« Observatory of Free Digital Practices and Experiences »), which will publicly host the various surveys (and their results!) that Framasoft will have conducted among its audiences. This site will be open to other organisations wishing to share their feedback. The aim is not to reinvent the wheel, but to make it easier to objectify the needs (and frustrations) of users.

Of course, we will continue to improve both Framaspace and Nextcloud. We’re lucky (and happy) to have Thomas, one of the world’s leading contributors from outside Nextcloud GmbH, on our staff.

This means that Framasoft (through Framadrive, Framagenda and now Framaspace) is taking a very active part in this digital commons that is the Nextcloud software.

On a more ‘internal’ note, in the coming months we should be increasing our capacity to work on the Framaspace project within Framasoft: Thomas, currently the lead developer on Mobilizon, will shift up to 50% of his time to Framaspace, and Pierre-Yves, currently co-director of Framasoft, will leave this role to concentrate on the association’s digital services (including Framaspace, of course).

Empowering ‘off-market’ structures

We have many policy ambitions for the Framaspace project (see our launch article – only in French, sorry!).

To achieve this, we will use surveys to gather information about the needs (both functional and more political) of the structures we host. Depending on the results, and if resources allow, we will be able to adapt Framaspace to the needs of its users.

We have noticed that in the associations we support, the issue of digital tools often lies with one or two volunteers, who sometimes struggle to implement a change management policy or convince their board. So we also want to produce « practical information sheets » to make life easier for these key people. « For example, we’ll look at how to carry out a digital diagnosis of my association, or how to convince my board to switch from Gdrive or Dropbox to Framaspace.

Finally, and we are aware of the high demand for this item, we would like to pool funding for new features in Framaspace.

We will focus on :

  • The possibility of managing your members in Framaspace (members, categories, identity card, subscriptions, membership reminders, etc.) using the (fabulous) free association management software Paheko;
  • The possibility of managing your association’s accounts (data entry, balance sheet, profit and loss, choice of chart of accounts, etc.), again thanks to Paheko;
  • the possibility of quickly creating visual communication tools using the Aktivisda software (see the example of the Alternatiba association);
  • allow associations that wish to do so to publish pages presenting their structure and activities. To do this, we want to make it possible to publish a mini-website presenting the organisation (written in Framaspace’s « Collectives » application).

Dessin dans le style d'un jeu vidéo de combat, où s'affronte la licorne de Framaspace et le monstre de Google Workspace.
Help Li, Framaspace’s unicorn mascot, Push back Demondrive by supporting Framasoft ! – Illustration CC-By David Revoy

Moulaga needed!

As you can see, the Framaspace 2024 roadmap is already very full!

Please note: none of the items below are firm commitments on our part. They’re just our wishes, what we want to implement in the coming year. It’s all very ambitious. And like any ambition, we need to know what resources we can devote to it.

As we said, Framaspace is a project with a large deficit. That’s a good thing: it’s not intended to be profitable, much less to make a profit. However, it is the resources you entrust to us (i.e. your donations) that enable us to act.Therefore, we sincerely believe that €1 (or €100 or €1,000, eh! 😅) donated to Framasoft really does help to change things and have a positive impact on the digital world ‘outside the market’.That’s why we invite you, if you can, to support Framasoft with a donation, so that we can continue our work, and especially to maintain and develop the Framaspace project.Once again this year we need you, your support, your sharing to help us regain ground on the toxic GAFAM web and multiply the number of ethical digital spaces.So we’ve asked David Revoy to help us present this on our « Support Framasoft » page, which we invite you to visit (because it’s beautiful) and above all to share as widely as possible:

Capture d'écran de la barre de dons Framasoft 2023 à 8%
Click to support us – Illustration CC-By David Revoy

If we are to balance our budget for 2024, we have six weeks to raise €183,478: we can’t do it without your help!

 

Support Framasoft

 




700 assos ont déjà le nez dans les nuages (libres) : bilan d’un an de Framaspace

Ce long article vise à faire le bilan du projet Framaspace (cloud associatif basé sur Nextcloud), tout juste un an après son annonce.

🦆 VS 😈 : Reprenons du terrain aux géants du web !

Grâce à vos dons (défiscalisables à 66 %), l’association Framasoft agit pour faire avancer le web éthique et convivial. Retrouvez un résumé de nos avancées en 2023 sur le site Soutenir Framasoft.

➡️ Lire la série d’articles de cette campagne (nov. – déc. 2023)

 

Il était une fois Frama.space

Souvenez-vous, il y a un an, nous annoncions l’un des projets les plus ambitieux de Framasoft : Frama.space

Pour celles et ceux qui n’étaient pas là, où qui ne s’en souviendraient pas, l’envie de mettre en œuvre Frama.space partait d’un triple constat.

Le premier, c’est que c’est la merde. Politiquement, socialement, géopolitiquement, écologiquement, etc. Vous pouvez évidemment penser le contraire, mais nous, nous trouvons que le monde ne tourne pas très rond…

Le second constat, c’est que la société civile, qu’on caricaturera ici aux associations et syndicats est attaquée de toutes parts. La pression à dépolitiser les associations, la réduction du financement de ces dernières en faveur « d’entreprises à impact » ou de la startup nation, les attaques contre les libertés associatives… Tout cela épuise la capacité du troisième secteur à répondre aux besoins auxquels le marché ne répond pas. Il devient de plus en plus difficile d’équilibrer un contrat social mis à mal par les entreprises comme par l’État.

Mème sur la position difficile de nombre d'associations, coincées entre le dilemme "Se vendre aux entreprises" ou "Se prosterner devant l'État".

Enfin, plus proche de Framasoft, le numérique est devenu un outil d’organisation des personnes, mais aussi de passage à l’action. Cependant, ce constat plutôt positif est contrebalancé par deux observations plus négatives. D’une part le numérique est un outil de surveillance et d’aliénation. Et d’autre part, les associations sont à la traîne côté usages comme côté cohérence. Ainsi, des associations œuvrant pour une transition écologique vont utiliser les outils et services des GAFAM, qui participent largement au problème que ces associations essaient de résoudre.

Frama.space : du (Next)cloud pour les assos

Il y a un an, nous annoncions donc un nouveau service Framasoft : Frama.space

Sa mission ? Outiller la « société de contribution ». Formulé autrement : équiper numériquement les associations et collectifs « hors marché ». Qu’il s’agisse de l’AMAP de Trifouilly-les-Oies, du café associatif de Bernache-sur-Yvette, ou du collectif de théâtre queer de Cygne-lès-Lavaur.

Car nous pensons que ces associations et collectifs ont besoin (et même envie) de retrouver de la cohérence entre leurs valeurs, leurs actions, et leurs outils. Être une association qui milite pour, par exemple, le « zéro déchet » et qui utiliserait, par exemple toujours, les outils de Google ou Microsoft, nous paraît en effet contradictoire.

Attention cependant : il ne s’agit pas d’un jugement de valeur de notre part. Nous comprenons parfaitement que des contradictions, ou des objections légitimes puissent exister (on peut parfaitement être préoccupé par le sort de la planète, et prendre une voiture pour amener ses enfants à une activité sportive hebdomadaire située à 20km).

Cependant, il nous paraissait important que ces structures aient le choix de pouvoir avoir accéder facilement à des outils qui ne reposent pas sur les mécanismes du capitalisme de surveillance.

Interface d'un Framaspace (application "Fichiers")
Interface d’un Framaspace (application « Fichiers »)

Nextcloud : une solution imparfaite (mais une solution tout de même)

Framaspace embarque les suites bureautiques en ligne collaboratives Collabora Online et OnlyOffice. Ici, une capture écran de l'édition d'un fichier de type Tableur, directement dans le navigateur.
Framaspace embarque les suites bureautiques en ligne collaboratives Collabora Online et OnlyOffice. Ici, une capture écran de l’édition d’un fichier de type tableur, directement dans le navigateur.

 

Le logiciel est très perfectible (côté UX, côté dette technique, côté performances, etc.), mais… c’est le meilleur cheval de l’écurie malgré tout.

Par ailleurs, sa communauté est large (plus de 60 millions d’utilisateur⋅ices dans le monde) et plutôt active, ce qui donne des espoirs pour l’avenir.

Nous avons donc décidé de baser notre offre Framaspace sur ce logiciel, en proposant une offre techniquement ambitieuse, capable à terme d’accueillir jusqu’à 10 000 espaces Framaspace (et donc autant d’instances du logiciel Nextcloud). Pour cela, nous avons monté une infrastructure technique conséquente, et développé des outils logiciels « maison » (libres, évidemment) permettant de valider les demandes d’inscription et de déployer automatiquement de nouveaux espaces très rapidement, en quelques clics.

Interface de CHARON, logiciel qui nous permet de gérer les candidatures Framaspace
Interface commentée de CHARON, logiciel développé par Framasoft, qui nous permet de gérer les candidatures Framaspace.

 

Mais assez de rappels au passé : si vous souhaitez en savoir plus sur les ambitions derrière Framaspace, vous avez la possibilité de regarder deux vidéos :

On fait l’bilan, calmement

Frama.space devient Framaspace.org

Déjà, nous avons dû changer le nom, car l’extension « .space » augmentait la probabilité des emails contenant des adresses en « frama.space » d’être considéré comme des spams. La faute, évidemment, aux géants du mail, mais nous ne pouvions pas accepter une solution qui nuirait à l’usage normal de la plateforme. Nous avons donc fait le choix d’utiliser un nom de domaine et une extension plus classique, mais plus longue : framaspace.org.

La transition est en cours et se fera par étapes, car il n’y a pas d’urgence sur le sujet.

Par ailleurs, nous annoncions poursuivre quatre objectifs :

  1. Faciliter l’accès à Nextcloud/Framaspace
  2. Rendre plus visible Nextcloud/Framaspace
  3. Aider à faire émerger une communauté Nextcloud/Framaspace francophone
  4. Utiliser Nextcloud/Framaspace comme outil d’empuissantement

Ce premier anniversaire est donc le bon moment pour faire un point sur chacun de ces objectifs.

Bilan « fonctionnel » : ça marche, ou pas ?

Oui !

A l’heure où vous lirez ces lignes, plus de 700 espaces sont actifs. Cela signifie donc que Framasoft outille 700 associations et collectifs. Et les retours sont globalement positifs !

Nous avons pu faire des opérations complexes sans trop de difficultés. Par exemple, nous avons fait des mises-à-jour majeures de Nextcloud (de la version 25 à la version 26) avec un temps d’indisponibilité très limité (moins de 2mn par espace).

Côté infrastructure technique : il y a parfois des nids de poule, mais l’infra tient la route !

Ainsi, fin 2022, nous nous sommes aperçu qu’il y avait un souci du côté de notre système de gestion des suites bureautiques. Les vacances de fin d’années étant proches, et étant suivies de près par une préparation intense de l’A.G. de Framasoft, nous avons préféré suspendre les inscriptions, et prendre le temps nécessaire pour développer une solution pérenne. Nous avons rouvert les inscriptions en mars 2023. Donc, si vous aviez raté l’info : il est parfaitement possible de candidater pour votre association ou collectif sur https://framaspace.org !

Le fait que ça soit Framasoft qui gère les aspects techniques peut avoir certains inconvénients (nous limitons le nombre de comptes, d’espace disque, ou de plugins Nextcloud que vous pouvez utiliser). Mais cette infogérance facilite énormément la vie des utilisateur⋅ices (qui, pour la plupart, auraient bien du mal à maintenir dans le temps une instance du logiciel Nextcloud qu’iels auraient installé « manuellement »).

En un an, nous sommes passés de 0 à plus de 700 espaces gérés par Framasoft. Nous estimons donc ce bilan fonctionnel comme plus que satisfaisant.

Illustration de DemonDrive, un monstre fantomatique orné du logo de Google Workspace
Cliquez pour nous soutenir et aider à repousser Demon Drive – Illustration CC-By David Revoy

Bilan « notoriété »

Un des objectifs de Framaspace est aussi de faire connaître Nextcloud, et l’offre Framaspace (ou celles proches ailleurs, notamment chez les CHATONS).

Pour cela, en 2023, nous avons :

Sur un bulletin scolaire, nous pourrions écrire : « Pas mal, mais peut mieux faire ».

Bilan « communauté »

Cela concerne notre volonté de construire, à long terme, une communauté d’utilisateur⋅ices francophones de Nextcloud.

Dans ce cadre, nous avons :

Le bilan de cette partie là est un démarrage plutôt poussif, mais c’est assez logique car, pour différentes raisons, nous n’avons pas pu consacrer autant de temps de travail en 2023 à cette partie du projet que nous l’aurions souhaité.

Bilan « empuissantement »

Cette partie du projet est prévue pour 2025. Il n’était pas prévu de travailler dessus en 2023. Et donc, il est logique que nous n’ayons pas avancé dessus.

Slide "empuissanter" rappelant une partie des objectifs de Framaspace.

Statistiques du projet

Afin d’objectiver encore un peu plus ce bilan de la première année, voici quelques données chiffrées. Si elles ne vous intéressent pas, vous pouvez déjà sauter à la partie « Bilan du bilan » 🙂

Typologie des structures

Répartition par type de structures

Répartition des espaces par types de structures
Répartition des espaces par types de structures

 

Description :

  • 72% d’associations loi 1901 ;
  • 22% de collectifs informels ;
  • 5% de syndicats ;
  • 1% d’associations loi 1907 (associations mixtes/cultuelles).

Répartition par secteurs d’activités

Répartition des espaces, par secteurs d’activités

Description (NB : les structures pouvaient choisir plusieurs thématiques) :

  • un premier « bloc » avec plus de 250 structures se revendiquant des secteurs ou thématiques suivantes : Education/Formation, Environnement, Culture, Social ;
  • un second « bloc » avec plus de 100 structures se revendiquant des secteurs ou thématiques suivantes : Amicale / Entraide, Loisirs, Défense des droits fondamentaux, Activités politiques, Économie ;
  • un dernier « bloc » avec moins de 100 structures se revendiquant des secteurs ou thématiques suivantes : Sport, Santé, Recherche, Justice, Activités spirituelles ou philosophiques, Tourisme.

Répartition par année de création de la structure

Répartition des espaces par année de création

Description : 50% des 700 espaces correspondent à des structures dont l’année de création date de 2017 ou plus. Même si une dizaine de structures existaient avant 1950, on peut en déduire que, globalement, le public de Framaspace représente plutôt des structures récentes.

Répartition par nombre de salarié⋅es

Répartition des espaces par nombre d'employé⋅es

Description et commentaire : 500 des espaces (71% du total) sont des structures sans salarié⋅es. Il existe quelques structures avec plus de 20 salarié⋅es, cependant, il s’agit souvent « d’anomalies » (par exemple l’espace est créé pour un groupe syndical local, qui indique le nombre de salarié⋅es du syndicat national).

Répartition par nombre de membres

Répartition des espaces par nombre de membres.Description : la moitié des espaces représentent des structures de moins de 30 personnes. 75% déclarent compter 100 membres ou moins.

Répartition par nombre de bénéficiaires

Répartition des espaces par nombre de bénéficiaires.

Description : la moitié des espaces représentent des structures déclarant toucher 100 personnes ou plus. Il existe quelques structures déclarant toucher plus de 25 000 personnes, cependant, il s’agit souvent « d’anomalies » (par exemple l’espace est créé pour un groupe syndical local, qui indique le nombre de bénéficiaires du syndicat national).

Répartition par budget annuel

Répartition des espaces par budget annuel

Description : 150 structures n’ont pas souhaité répondre à la question. Sur les 550 restantes, la moitié déclarent avoir un budget annuel inférieur à 4 000€ par an (une centaine de structures déclarent même avoir un budget de 0€). 25% environ des structures déclarent avoir un budget entre 4 000 et 50 000€ (qu’on peut corréler avec les structures ayant au moins un⋅e salarié⋅e). Quelques rares structures déclarent avoir un budget supérieur à 50 000€/an, mais il s’agit là encore pour la plupart « d’anomalies statistiques ».

Exemples de structures

NB: ces associations se sont présentées publiquement sur le forum Framaspace, nous n’avons donc pas de cas de conscience à rendre public leurs identité ou objet.

Par exemple :

« Bonjour. Nous sommes l’association Les petits pois sont verts à Clamart. Notre raison d’être est d’imaginer et construire un mode de vie solidaire et respectueux de l’environnement en :

  • reliant les Clamartois partageant les mêmes motivations,
  • encourageant une dynamique locale,
  • portant des projets,
  • collectant et diffusant des informations

Nous avons quelques années d’existence seulement et prônons l’usage du numérique libre et sobre.

Nous utilisons les outils Framasoft suivants : Framapad, Framadate, et Frama.space depuis peu. »

Ou encore :

« L’association des Cavaliers Au Long Cours (CALC) est une association francophone regroupant des adhérents, environ 200, du monde entier (notre adhérent le plus lointain est au Kirghistan !) mais ils sont principalement basés dans les pays d’Europe de l’Ouest. Notre objectif est le développement du voyage au long cours avec un animal (cheval, âne, mulet, etc.) monté et/ou bâté. Nous aidons aussi les prétendants au voyage dans leur organisation et apportons une aide aux voyageurs en difficulté. »

Autres exemples :

  • Plan B – asso d’éduc pop bretonne (Rennes)
  • AMAP de St Vallier de Thiey (Alpes Maritimes)
  • La Gonette – Monnaie locale citoyenne (Lyon)
  • Les amis du Portique – Revue de philo et sciences humaines
  • Les Pieds à Terre – éduc pop à l’environnement (Haute-Loire)
  • Planning familial de l’Aude

Usage des structures

Suites bureautiques utilisées

Répartition des Framaspaces entre Collabora Online et OnlyOffice
Répartition des Framaspaces entre Collabora Online et OnlyOffice

 

NB : la surreprésentation de Collabora Online est due au fait qu’il s’agit de la suite bureautique proposée par défaut. L’admininstrateur⋅ice de l’instance peut basculer si c’est son choix vers OnlyOffice, mais très peu le font.

Statistiques d’usage
  • Nombre d’espaces
    • actifs : 700
    • refusés : 14
    • désactivés (par leurs administrateur⋅ices) : 10
  • Comptes (admins + users) : 3 356
    • Moyenne : 4,8 comptes ; médiane : 2 comptes
  • Fichiers utilisateurs hébergés : 760 939 pour 860 Go (hors révisions et hors corbeille)
    • 131 Go en corbeille
    • 99 % des espaces ont créé au moins un fichier
  • Connexion :
    • 198 espaces ont eu une connexion dans les 3 derniers jours
    • 390 espaces ont eu une connexion dans les 15 derniers jours

Nombre de comptes

Répartition des espaces par nombre de comptes

Description : près de 300 espaces n’ont qu’un seul compte (nécessairement le compte « admin »). Cela signifie que 40% des espaces n’ont pas d’usage collaboratif avec d’autres utilisateur⋅ices. Cependant, nous avons constaté des usages où l’admin de l’espace avait malgré tout des usages collaboratifs avec d’autres personnes de son asso (par exemple par l’utilisation de dossiers partagés, avec ou sans mots de passe). Cela signifie – quand même – que 60% des espaces comptent plusieurs utilisateur⋅ices. 42% ont même 5 utilisateur⋅ices ou plus.

Espace disque utilisé

Répartition des espaces par espace disque occupé.

Description : quasiment tous les espaces ont utilisé leur espace de fichiers (seuls 2% n’ont jamais créé de fichier). Il est intéressant de noter que moins de 20% des espaces utilisent plus de 1 Go (sur un maximum de 40 Go par espace).

Nombre de fichiers

Répartition des espaces par nombre de fichiers.

Description : 50% des espaces comptent plus de 250 fichiers utilisateur⋅ices. Ce qui est plutôt une bonne « surprise » à notre avis : cela signifie que Framaspace est bien utile (soit au stockage, soit au partage de fichiers).

Bilan financier

Dépenses

Actuellement, l’infrastructure technique (les serveurs informatiques) de Framaspace nous coûte environ 1 200€ par mois (soit environ 15 000€ par an) Le coût du travail, estimé par le très peu précis Institut LaLouche, est d’environ 20 000€ d’investissement en amont du lancement du projet. Depuis le lancement, toujours à la grosse louche, nous pouvons compter environ 2000€ par mois (3 salariés impliqué, à temps très très partiels sur ce projet). On peut donc dire, grossièrement, que Framaspace a coûté environ 60 000€ à Framasoft.

Recettes

Côté recettes, c’est un peu plus complexe.

Framaspace est un projet réservé aux petites associations et collectifs solidaires, volontairement gratuit. Nous souhaitons que le prix ne soit pas un frein à l’accès. Et nous ne souhaitons pas fixer de « prix libre », car qui dit prix, dit service vendu, dit prestation, dit facture, dit obligations (contractuelles, comptables et fiscales). Nous faisons le choix volontaire et assumé du don sans contrepartie financière attendue (ce qui n’empêche pas qu’elle soit espérée 😉 ).

Il est probable que certain⋅es membres des associations que nous hébergeons aient fait un don à Framasoft. Cependant, nous ne voulons pas flécher les dons sur les projets Framasoft. Car comptablement, un don fléché sur un projet doit entrer dans un fond dédié qui doit servir à ce projet. Or nous souhaitons qu’un don à Framasoft puisse aussi financer des projets « à perte », ce qui est exactement le cas de Framaspace cette première année.

Par volonté de simplification, on peut donc dire que les recettes sont de… 0€ ! 😱

Coût par espace

À partir de données précédentes, on peut donc déduire que le coût d’un espace (à ce jour) est de 86€ annuel (soit 7€ par mois. Dont 1,8€/mois de coût d’infrastructure).

Mais le coût de l’infrastructure ne devrait pas trop bouger, et le coût du travail légèrement augmenter, en 2024, alors que le nombre d’espaces pourrait, lui, tripler ou quadrupler. Si on part sur une hypothèse d’un coût total de 60 000€ (pour 2023) + 15 000€ pour les serveurs en 2024 + 36 000€ de coût du travail. On arrive à un total de 111 000€ fin 2024. Avec une hypothèse de 2 500 espaces actifs fin 2024, cela porterait le coût total à 45€ par espace et par an (soit 3,7€ par mois, dont 1€/mois de coût d’infrastructure). Coût qui pourrait encore baisser en 2025.

C’est un coût important, et rares sont les associations qui peuvent se permettre ce genre de projet qui ne vise pas un objectif de rentabilité ou même d’équilibre.

Cependant, nous pensons que la portée politique de ce projet implique que nous prenions ce risque. Nous espérons (par expérience plus que par naïveté) que les associations qui le pourront soutiendront financièrement Framasoft (et donc indirectement Framaspace).

Bilan du bilan

Les nouvelles sont plutôt bonnes !

Mème Framaspace reprenant la célèbre phrase du biologiste Richard Dawkins, au sujet de la science, affirmant "It works, Bitches".
Mème Framaspace reprenant la célèbre phrase du biologiste Richard Dawkins, au sujet de la science, affirmant « It works, Bitches ». (contexte ; vidéo PeerTube)

 

D’abord, Framaspace fonctionne 🙂
Gérer 700 instances Nextcloud, c’est pas mal en un an, non ? D’autant que l’infogérance se passe plutôt bien (pour le moment !)

Ensuite, nous avons réussi à cibler le public que nous souhaitions toucher : des associations (déclarées ou de fait) plutôt petites, avec des petits budgets. La plupart sont orientées vers l’éducation, l’environnement, le social ou le culturel. Ce qui n’est pas étonnant quand on connaît le public de Framasoft.

Enfin, Framaspace est utilisé. Les connexions sont régulières sur plus de la moitié des espaces. Et les personnes manipulent pas mal de fichiers (plutôt de petits fichiers, ce qui explique que rares sont les espaces qui utilisent plus d’un Go sur les 40Go max octroyés).

Nous considérons que nos objectifs 2023, en termes d’actions, sont plus que correctement remplis 🎉 On peut même dire que c’est une réussite au vu des moyens que nous avons déployés.

Le fait de proposer des espaces « verrouillés » (par exemple vous ne pouvez pas installer les plugins Nextcloud de votre choix sur Framaspace, et seules les petites associations ou collectifs peuvent ouvrir un Framaspace) a eu l’effet de frustration escompté. En effet, nous avons régulièrement renvoyé les personnes frustrées par ces limitations vers des structures amies, comme Zaclys, IndieHosters, Cloud Girofle, Paquerette, Arawa, etc. C’est la démonstration que nous ne prenons pas une « part du gâteau », mais bien que nous participons à agrandir la taille de ce dernier.

Dessin de Li, la licrone mascotte de Framaspace. Elle s'apprete à lancer des bulles magiques.
Cliquez sur Li, la licorne-mascotte de Framaspace, pour soutenir Framasoft. – Illustration CC-By David Revoy

Framaspace en 2024 (et 2025)

Comme vous avez pu le lire dans notre « bilan du bilan », Framaspace répond à un besoin, et Framasoft estime que la réponse apportée est plutôt bonne. C’est évidemment loin d’être parfait, mais pour une petite asso qui voudrait se dégoogliser et mettre en cohérence ses valeurs et ses outils numériques, l’offre Framaspace peut convenir.

Cependant, nous ne comptons pas nous arrêter là ! Framaspace est toujours en phase de « beta test » (et ce sans doute jusqu’à fin 2025 !) et de nombreuses améliorations sont à venir 😀

Accompagnement

Tout d’abord, nous allons continuer à accueillir des espaces. Maintenant que Framaspace est plus stable, nous pensons pouvoir accélérer le rythme et accueillir 2 500 espaces d’ici fin 2024 (c’est-à-dire plus que tripler le nombre actuel. Même pas peur !).

Ensuite, nous allons poursuivre nos actions d’infogérance. Par exemple en passant de Nextcloud 26 à Nextcloud 27 fin 2023 ou début 2024. Chaque version apporte son lot de nouvelles fonctionnalités (voir chez nos ami⋅es d’Arawa qui en font une présentation synthétique ici et ).

Côté accompagnement, nous souhaitons produire un tutoriel un peu spécial. En effet, de très nombreux tutoriels existent déjà (nous mettons en avant celui de Coopaname, réalisé par La Dérivation). Mais ce type de tutoriel ne correspond pas à tous les besoins. Nous souhaiterions donc produire un tutoriel plus narratif et plus immersif. Un « tutoriel dont vous êtes le héros » (ou « Les combines dont vous êtes l’héroïne » si vous préférez). Inspiré des « livres dont vous êtes le héros », il s’agira pour l’utilisateur⋅ice d’incarner un personnage devant remplir différentes missions avec son espace Framaspace. La particularité étant que certaines « quêtes » pourront être soit contournées (par exemple si l’utilisateur⋅ice sait déjà créer un compte utilisateur⋅ice) soit approfondies (par exemple sur le partage de fichiers).

Scénario en construction d'un « tutoriel dont vous êtes le héros »
Scénario en construction d’un « tutoriel dont vous êtes le héros »

 

Nous souhaitons aussi apporter de la documentation (et des outils de facilitation) pour faciliter la migration depuis OneDrive, Dropbox ou GoogleDrive, ainsi que simplifier l’import/export entre instances Nextcloud. Par exemple une asso qui arriverait aux limites de 50 comptes sur son espace Framaspace et souhaiterait migrer pour un Nextcloud plus puissant chez nos ami⋅es de IndieHosters pourrait transférer ses données — fichiers, agendas, contacts, etc — de façon plus automatisée.

Enfin, nous sommes conscient⋅es qu’une des grandes faiblesses de Nextcloud (et donc de Framaspace) est la difficulté à « embarquer » (= onboarding en anglais) les novices dans une interface (trop ?) riche et parfois (très ?) confuse. C’est pourquoi nous souhaiterions intégrer à Nextcloud l’outil libre IntroJS afin de mettre en lumière certaines parties du logiciel et de faciliter ainsi sa prise en main. Cf vidéo ci-dessous.

 



Vidéo d’une démonstration de la façon dont pourrait s’intégrer IntroJS dans Nextcloud pour faciliter sa prise en main.

Toujours sur le plan de la prise en main, nous travaillons avec la designer Marie-Cécile Godwin, qui enseigne notamment à l’école de design Strate, afin de faire réfléchir ses étudiant⋅es aux possibilités d’amélioration de Nextcloud d’un point de vue UX et UI.

Accroître la notoriété de Nextcloud

En 2024, nous poursuivrons bien évidemment les actions visant à mieux faire connaître Nextcloud sur les territoires francophones.

Ainsi, nous avons déjà sous-titré en français quelques vidéos de présentation de Nextcloud. Mais nous souhaiterions aller plus loin. Par exemple en refaisant carrément les voix off, où en traduisant des supports de documentation (flyers, plaquettes, etc.).

Vidéo d’une vidéo promotionnelle de Nextcloud, originellement en anglais uniquement, et sous-titrée par Framasoft.

Par ailleurs, Framasoft poursuivra son travail de promotion de Nextcloud et de Framaspace, par le biais de conférences, de webinaires, d’interviews, etc.

Ensuite, nous poursuivrons nos partages et retours d’expérience avec la communauté CHATONS, dont de nombreux membres proposent des services autour de Nextcloud. Nous pensons avoir acquis certains savoirs et savoirs-faire autour de Nextcloud, mais nous savons surtout qu’il nous reste énormément à apprendre.

Enfin, nous allons commencer à prendre contact avec les têtes de réseaux associatifs (Collectif Associations Citoyennes, Mouvement Associatif, réseaux d’éducation populaire, mais aussi des réseaux tels que Associations Mode d’Emploi, Solidatech, Associathèque, etc.) afin de présenter Framaspace, et mettre en lumière ce que Nextcloud peut faire (ou ne peut pas faire !) au niveau du numérique éthique collaboratif. L’objectif, à terme, est d’évaluer sa pertinence comme « commun numérique d’intérêt général » pour les associations.

Communauté d’utilisateur⋅ices Framaspace & Nextcloud

En 2024, nous poursuivrons notre travail pour impulser, animer et coordonner une communauté d’utilisateur⋅ices du logiciel Nextcloud sur le forum Framaspace.

Nous publierons aussi un site pour l’observatoire OPEN-L (« Observatoire des Pratiques et Expériences Numériques Libres »), qui accueillera publiquement les différentes enquêtes (et leurs résultats !) que Framasoft aura conduites auprès de ses publics. Ce site sera ouvert aux structures souhaitant elles aussi partager leurs retours d’expérience. L’objectif étant de ne pas réinventer la roue, et de pouvoir plus facilement objectiver les besoins (et frustrations) des utilisateur⋅ices.

Évidemment, nous continuerons à améliorer Framaspace, mais aussi Nextcloud. Nous avons la chance (et le plaisir) de compter Thomas dans notre équipe salariée, l’un des principaux contributeurs mondiaux extérieurs à l’entreprise Nextcloud GmbH.

Cela signifie que Framasoft (au travers de Framadrive, Framagenda, et maintenant Framaspace), participe très activement à ce commun numérique qu’est le logiciel Nextcloud.

D’ailleurs, concernant les nouvelles plus « internes », nous devrions dans les mois qui viennent augmenter notre capacité de travail au sein de Framasoft sur le projet Framaspace : Thomas, actuellement développeur principal de Mobilizon, basculera jusqu’à 50% de son temps de travail sur Framaspace, et Pierre-Yves, actuellement codirecteur de Framasoft, quittera cette fonction afin de se concentrer sur les services numériques de l’association (dont Framaspace, évidemment).

Empuissanter les structures « hors marché »

Nous avons beaucoup d’ambitions politiques autour du projet Framaspace (cf. notre article de lancement).

Pour cela, nous allons poursuivre, par le biais d’enquêtes, la collecte des besoins (fonctionnels, mais aussi plus politiques) des structures hébergées. En fonction des résultats, nous pourrons – si nos moyens nous le permettent – adapter Framaspace aux besoins des utilisateur⋅ices.

Nous avons constaté que dans les associations que nous accompagnons, la question des outils numériques repose souvent sur un ou deux bénévoles, qui peinent parfois à mettre en place une politique de conduite du changement, ou à convaincre leur Conseil d’Administration. Nous souhaitons donc aussi produire des « fiches pratiques » afin de faciliter la vie de ces personnes clés. « Comment faire le diagnostic numérique de mon association ? », « Comment convaincre mon C.A. de passer de Gdrive ou Dropbox à Framaspace ? », etc.

Enfin, et nous sommes conscient⋅es de la forte demande concernant ce point, nous souhaitons mutualiser le financement de nouvelles fonctionnalités dans Framaspace.

Nous étudierons prioritairement :

  • la possibilité de gérer ses membres dans Framaspace (membres, catégories, fiche d’identité, cotisations, rappel d’adhésion, etc.), grâce au (fabuleux) logiciel libre de gestion associative Paheko ;
  • la possibilité de gérer la comptabilité de son association (saisie, bilan, compte de résultat, choix du plan comptable, etc.), là encore grâce à Paheko ;
  • ajouter la faculté de décliner rapidement des visuels de communication, grâce au logiciel Aktivisda (cf l’exemple de l’association Alternatiba) ;
  • permettre, pour les associations qui le souhaitent, de rendre publiques des pages présentant leur structure et leurs actions. Pour cela nous souhaitons donner la possibilité de publier un mini-site web de présentation de la structure (rédigé dans l’application « Collectives » de Framaspace).

Dessin dans le style d'un jeu vidéo de combat, où s'affronte la licorne de Framaspace et le monstre de Google Workspace.
Aidez Li, la licorne de Framaspace, à repousser Demondrive en soutenant Framasoft ! – Illustration CC-By David Revoy

Moulaga needed!

Comme vous le voyez, la feuille de route 2024 de Framaspace est déjà bien chargée !

Attention : aucun des points ci-dessous n’est un engagement ferme de notre part. Il s’agit de nos envies, de ce que nous souhaitons mettre en place l’année qui vient. Cela reste très ambitieux. Et comme toute ambition, il faut savoir quelles sont les ressources disponibles que l’on peut y consacrer.

Nous l’avons indiqué plus haut, Framaspace est un projet largement déficitaire. Ça tombe bien : il n’a pas vocation à être rentable, et encore moins à dégager des bénéfices. Cependant, ce sont bien les moyens que vous nous confiez (c’est-à-dire vos dons) qui nous permettent d’agir.

En conséquence, nous pensons sincèrement que 1€ (ou 100€ ou 1 000€, hein ! 😅) donné à Framasoft permet réellement de faire bouger les lignes, et d’avoir un impact positif sur le numérique « hors marché ».

C’est pourquoi nous vous invitons, si cela vous est possible, à soutenir Framasoft en faisant un don, afin que nous puissions poursuivre nos actions, et notamment maintenir et développer le projet Framaspace.

Cette année encore, nous avons besoin de vous, de votre soutien, de vos partages, pour nous aider à reprendre du terrain sur le web toxique des GAFAM, et multiplier les espaces de numérique éthique.

Nous avons donc demandé à David Revoy de nous aider à montrer cela sur notre site « Soutenir Framasoft« , qu’on vous invite à visiter (parce que c’est beau) et surtout à partager le plus largement possible :

Capture d'écran de la barre de dons Framasoft 2023 à 8%

Si nous voulons boucler notre budget pour 2024, il nous reste six semaines pour récolter 183 478 € : nous n’y arriverons pas sans votre aide !

 

Soutenir Framasoft

 




Collectivise the Internet : Three years to Ruffle the Feathers of Surveillance Capitalism

If the major issue in the digital world is systemic (a system called Surveillance Capitalism), then the answer cannot be limited to  » individual degoogleizing initiatives ». Our new roadmap Collectivise the Internet / Convivialise the Internet 🦆🦆  is all out on providing digital tools for non-profit organizations and collectives that work for the common good and the good of the Commons.

Let us tell you this story…

This article was published in French in October 2022 as part of the launch of Framasoft’s new roadmap Collectivise the Internet / Convivialise the Internet.

Simple banquet, in a shared garden, where free-software mascot animals are being served by Collectivise, convivialise ducks - Illustration by David Revoy - Licence: CC-By 4.0
Collectivise, convivialise – Illustration by David Revoy – License: CC-By 4.0

Emancipating Ourselves from Googles’ Industrial Animal Farmland

At Framasoft, we learn by doing. With every new campaign, with every new three-year roadmap, we try to apply lessons from the past. And every time, we discover more about our own misconceptions, our mistakes and ways forward to fix them.

During the Degoogleize The Internet campaign (2014-2017), we have learned that, although our small association could not degoogleize the whole planet, there is still a great deal of people who show interest in web-based tools that respect their values and integrity. Providing Free and open-source services to a as many people as possible ensures a large-scale deployment, even if that means risking focusing the demand and expectations on us. During this time period, we also initiated the alternative hosting collective CHATONS (an acronym that also means « kitties », in French), so that other hosts could join us in this adventure.

Then, we started the Contributopia roadmap (2017-2020), in which we contributed to many collective, popular and federated project, therereby meeting like-minded contributors, with whom we share the common values of sharing, fairness, caring, and emancipation, free and open-source software (FOSS) values that attracted us. We’ve come to realize, walking down this path, gathering and relating, that digital choices are societal choices, and that the choices made by FANGs are the pillars of a system: surveillance capitalism.

Illustration Quit planet GAFAM NATU BATX , CC BY David Revoy
« Quit planet GAFAM NATU BATX » Illustration by David Revoy – License: CC-By 4.0

Entire books are merely attempting to define what surveillance capitalism is, so what we are sharing here is just a rough summary of what it actually is. Surveillance capitalism is a system that transforms collective behaviours into data sets by prioritizing profit and power above all. The aim is to sell prediction and manipulation of our future behaviours, generally as commercial, cultural or electoral propaganda. In order to do so, some mega corporations try to establish monopolies on digital tools that maximize the acquisition and monopoly on our attention.

Simply put, surveillance capitalism creates industrial data farms, where we are the cattle. On the one hand, we are force-fed with attention mush (enriched with ads), and, on the other, part of our lives and our social behaviours are snatched from us to be resold to prosperous buyers at premium price.

That is why, at Framasoft, we have developped tools designed away from the values pushed by this system. Among the solutions we developed are PeerTube, a video platform software, and Mobilizon, a group and events management system. However, these tools require an entire group of people managing, maintaining, drafting and ensuring its editorial policy, and moderating: many small organizations do not have the human ressources to handle this in-house.

🦆 Discover the projects we want to carry out  🦆 Support Framasoft

Requiring digital tools that do not give goose bumps

From 2019 to 2022, we also ran the Déframasoftisons Internet action plan. We closed several projects which were underused or available through other trusted « CHATONS » hosts. This allowed us to save some energy for future projects, to reinforce our will to take care of our organization by avoiding unreasonable growth or restructuring that would disrupt our collective and the way it operates – which has made us pretty effective so far! – but especially to promote the decentralization of ethical digital tools.

Between 2020 and 2022, right in the middle of a gobal pandemic that confirmed our general dependency on online services, we intensified our efforts in maintaining our actions. Incidentally, we revised our plans for « Let’s deframasoftize » and chose to maintain some of the tools we intended to restrain or close: Framalistes, Framagit, Framateam, Framacalc…. We made that choice because we could see little to no other alternatives, and we did not want to let so many people down.

During this period of forced isolation, a pressing need began to be voiced more and more:

I am willing to ‘degoogle-ize’ myself, but I need someone to assist me, who can be here, in person to help me throughout this transition.

a pastry chef kitten presenting a cake-cloud prepared on demand, while in the background other kittens cook another cake-cloud in the middle of their cat-scratching tree village
Emancip’Asso – Illustration by David Revoy – License: CC-By 4.0

We have been hearing this need for this kind of human, tangible support for a while, and this is not unexpected. One of the mechanisms of capitalism is to individualize (« the customer is always right ») so as to better isolate and place the responsibility on each of us. For example, the information that we name « personal data » is neither personal nor data: it is more accurately the digital harvesting of our lives linked to those of others. Those are our social behaviours.

Conversely, if so many organizations, federations, etc. are so efficient in their task for the common good (whether they help us discover knitting or fighti climate inaction), it is precisely because they rest on the enjoyment of being and doing together, on the joy of meeting and exchanging, on the human warmth we find in the collective.

🦆 Discover the projects we want to carry out  🦆 Support Framasoft

Ducking out the slump thanks to conviviality

The future Big Tech is designing for us is one where humans are being:
* isolated – so that connections between humans rely solely upon their tools
* exploited – so that more and more tools are being created for us to consume
* singled out – so that no collective action is put in place that challenges their methods
* dependent – on their system of absolute monopoly
* greedy – so our lack of money can be weaponized against us
* competing – to pit us against each other and justify the rise of their elite class

This future that surveillance capitalism is designing for us as we speak, is neither engaging nor sustainable.. It treats both people and the Earth as a liability and will lead us straight to destruction.

On the other hand, trying to step out of our comfortable FOSS-enthusiasts’ bubble to try and reach out to other communities that are changing the world, has proved to be not as desorienting as we might have thought. We found that oftentime we shared the same utopias and the same definition of society: one based on contributing.

Drawing of five isles in a circle, each with buildings from different cultures. They are communicating together using waves and echoes.
ECHO Network – Illustration by David Revoy – License: CC-By 4.0

These « Contributopians » share the same dream as us: a future where humans are proud, autonomous, emancipated, knowledgeable, sharing and helpful to each other… a future where digital tools are under control, transparent, user-friendly and enhance the emancipation of human beings.

Thus, let’s summarize the lessons learned from our previous endeavours:

  • We did not yet have tools that fit the needs of the small organizations and associations that do so much with so little, but most of all with a lot of good will.
  • We are aware of the risk of remaining isolated, singled out in our « small, individual ‘degoogleization’ initiatives » against a whole system that can only be faced effectively through collective action.
  • We can see how crucial it is to put humans back at the center, the need for human presence and kindness when assisting others throughout their transition towards ethical digital practises.
  •  We have been able to confirm that a good number of associations and organizations from civil society which are working for the commons share with us these common values.

These patrons/champions of a « society of contribution » work hard to make our common dreams a reality.

 Long story short: it’s high time we degooglized the Contributopians!

(… those who wish to be, of course. We have never forced anyone to do anything, and we won’t start now!)

🦆 Discover the projects we want to carry out  🦆 Support Framasoft

Finding warmth with the jolly fellows

The four long-term actions we introduced in the article « Convivialise the Internet » 🦆(Framaspace, Émancip’Asso, ECHO Network, Peer.tube) all serve the same purpose: to equip organizations with online tools that fit their values.

These four projects rely on the strength of the collective while also taking into account the known constraints and limits that associations face. Kindness alone cannot magically and miraculously provide people with knowledge, time and means to train to use Nextcloud, PeerTube and other ethical tools.

 

Sepia, PeerTube cuttlefish mascot, is by the sea shore. She invites us on the pier where many sailboats berthed. Movies are played on the sails.
Peer.Tube – Illustration by David Revoy – License: CC-By 4.0

Similarly, the 39 members that compose Framasoft (10 of whom are employees) cannot spawn everywhere to personally train each and every new organization that wants to use, let’s say Framaspace, especially as that number could rise – with the help of your generous donations – up to thousands of organizations within 3 years!

That is why all of these projects are both about building a sense of community through shared spaces and some time allocated to community-building activities and sharing practices, challenges, etc., and providing support via coaching, improvements tailored for specific needs, and learning content to help people to be more autonomous and master the different tools, etc. Going blindly ahead with preconceived notions and a “we know best what works best for you” kind of attitude does not seem to be the most suitable — let alone humane — approach.

 

🦆 Discover the projects we want to carry out  🦆 Support Framasoft

Let’s steer our ship into a virtuous circle

We want to be efficient, so we want our tools to actually be used. Our goal is thus to make our tools useful – yeah, because designing tools that are actually useful is what disruptive innovation is all about, to make Tech for good that is community-owned and still very much online!)

We are thus planning not to plan everything, except time and space dedicated to your feedback. We also want to be available to tackle issues we might face on each of the actions that we feel ready to take. In other words, if we already plan to develop new features, create tutorials, host webinars and draft learning content, we do not want to predefine everything upfront, so as to save some time to help our users, our main target.

A unicorn dressed as an astronaut (with a spaghetti strainer on its head) is walking on the clouds and is blowing bubbles. Inside the bubbles, we can see cubes that represent collective work (files, toolboxes, books, typewriters, abacus, etc.)
Frama.space – Illustration by David Revoy – License: CC-By 4.0

This is the virtuous circle that we defined over the course of our various experimentations and that best fits our workflow:

1. Launch a first draft of our project, although imperfect

It’s OK if the paint is still fresh, or if it’s still a rough sketch. It’s absolutely OK too to start with a very small target audience. We have 3 years ahead of us to improve all that, and we have time and resources in store to do so.

For example, while we hope to provide millions of organizations with Framaspace within 3 years, it will be a good start to offer it to 200-300 organizations by the end of 2022!

2. Take users’ feedback into account

The Frama.space forum, the PeerTube community the study programs on ECHO Network and the comments received on Emancip’Asso are all important resources to gather feedback on our tools. It’d be too easy to lock ourselves in an echo chamber and avoid the reality of those who are actually fighting on the battlefield.
We go as far as considering the creation of an Observatory of Practices and Free Open-Source Digital Experiences, basing ourselves on the organizations that make up the Frama.sapce user community. Codename: OPEN-L. Stay tuned for that… And let’s hope we manage to set it up!

3. Improve our solutions step by step

Our goal is to improve each of those actions over time. This could be done by creating documentation and pedagogical tools, moderating and facilitating user communities, working on the ergonomy or on new features to be developed.
We want to keep total freedom to improve each action depending on the feedback we get from users.

4. Link humans to tools, and to other humans

Here’s another important, yet often overlooked aspect: connections. Such a shame, considering that the Web is, by definition, designed to connect people, ideas and things. This step can take many forms. It may mean taking the time to introduce our users to the new improvements brought about by each of our actions. It may also mean broadening our user community for any given project. Finally, it may mean taking advantage of having organizations share a common tool by sharing with them, offering them and informing them on what their fellows are doing.

Additionally, it will take some journaling: to summarize experiences, the lessons learned, to gather the relevant resources… and share all of that with the community. Whatever the form, this connecting step is when we take the time to reflect, to review our actions so as to better start a new virtuous circle and launch a better version of the project.

🦆 Discover the projects we want to carry out  🦆 Support Framasoft

We ain’t no quacks. Please support us!

Ain’t gonna beat around the bush: Collectivise the Internet / Convivialise the Internet 🦆🦆 is a roadmap with a clear political purpose, in the sense that it shall contribute to changing the world (if only one byte at a time).

After eight years spent observing and informing the public on the future that Big Tech is already materializing for us day by day and the political choices that they are forcing on our societies, it feels more and more crucial to keep one corner of the Web free from their influence.

Such is « also » our role, because these new actions do not and will not replace the ones we are already conducting. All the ‘degoogleized » software already available to everyone, the development of PeerTube and Mobilizon, the FOSS collective CHATONS, the common cultural resources… All of these projects are still ongoing and will still require more work over the upcoming three years.

 

Portrait of a duck cheering in the foreground, while other ducks in the background are having a lantern-lit celebration among trees.
Quack-quack – Illustration by David Revoy – License: CC-By 4.0

If you agree with our set goals and strategy, if the actions that we are currently undertaking seem important to you, then we would like to remind you that Framasoft is exclusively funded by… You. It is only your kind contributions, eligible to a 66% tax cut for French taxpayers, that allow us to keep going in total independence.

If you can (as we are well aware that our current times are particularly harsh), and if you wish to, please support us.

 

🦆 Support Framasoft


This page has been translated from French to English by Framalang volunteers: Bastien, Bromind, Ellébore (proofreading), Goofy, GPSqueeek, Mathilde (proofreading), Stan, Susy