L’IA Open Source existe-t-elle vraiment ?

À l’heure où tous les mastodontes du numérique, GAFAM comme instituts de recherche comme nouveaux entrants financés par le capital risque se mettent à publier des modèles en masse (la plateforme Hugging Face a ainsi dépassé le million de modèles déposés le mois dernier), la question du caractère « open-source » de l’IA se pose de plus en plus.

Ainsi, l’Open Source Initiative (OSI) vient de publier une première définition de l’IA Open-Source, et la Linux Foundation (dont le nom peut prêter à confusion, mais qui ne représente surtout qu’une oligarchie d’entreprises du secteur) s’interroge également sur le terme.

Au milieu de tout cela, OpenAI devient de manière assez prévisible de moins en moins « open », et si Zuckerberg et Meta s’efforcent de jouer la carte de la transparence en devenant des hérauts de l’« IA Open-Source », c’est justement l’OSI qui leur met des bâtons dans les roues en ayant une vision différente de ce que devrait être une IA Open-Source, avec en particulier un pré-requis plus élevé sur la transparence des données d’entraînement.

Néanmoins, la définition de l’OSI, si elle embête un peu certaines entreprises, manque selon la personne ayant écrit ce billet (dont le pseudo est « tante ») d’un élément assez essentiel, au point qu’elle se demande si « l’IA open source existe-t-elle vraiment ? ».

Note : L’article originel a été publié avant la sortie du texte final de l’OSI, mais celui-ci n’a semble t-il pas changé entre la version RC1 et la version finale.

L’IA Open Source existe-t-elle vraiment ?

Par tante, sous licence CC BY-SA (article originel).
Une traduction Framalang par tcit et deux contributeur·ices anonymes.
Photo de la bannière par Robert Couse-Baker.

 

 

L’Open Source Initiative (OSI) a publié la RC1 (« Release Candidate 1 » signifiant : cet écrit est pratiquement terminé et sera publié en tant que tel à moins que quelque chose de catastrophique ne se produise) de la « Définition de l’IA Open Source ».

D’aucuns pourraient se demander en quoi cela est important. Plein de personnes écrivent sur l’IA, qu’est-ce que cela apporte de plus ? C’est la principale activité sur LinkedIn à l’heure actuelle. Mais l’OSI joue un rôle très particulier dans l’écosystème des logiciels libres. En effet, l’open source n’est pas seulement basé sur le fait que l’on peut voir le code, mais aussi sur la licence sous laquelle le code est distribué : Vous pouvez obtenir du code que vous pouvez voir mais que vous n’êtes pas autorisé à modifier (pensez au débat sur la publication récente de celui de WinAMP). L’OSI s’est essentiellement chargée de définir parmi les différentes licences utilisées partout lesquelles sont réellement « open source » et lesquelles sont assorties de restrictions qui sapent cette idée.

C’est très important : le choix d’une licence est un acte politique lourd de conséquences. Elle peut autoriser ou interdire différents modes d’interaction avec un objet ou imposer certaines conditions d’utilisation. La célèbre GPL, par exemple, vous permet de prendre le code mais vous oblige à publier vos propres modifications. D’autres licences n’imposent pas cette exigence. Le choix d’une licence a des effets tangibles.

Petit aparté : « open source » est déjà un terme un peu problématique, c’est (à mon avis) une façon de dépolitiser l’idée de « Logiciel libre ». Les deux partagent certaines idées, mais là où « open source » encadre les choses d’une manière plus pragmatique « les entreprises veulent savoir quel code elles peuvent utiliser », le logiciel libre a toujours été un mouvement plus politique qui défend les droits et la liberté de l’utilisateur. C’est une idée qui a probablement été le plus abimée par les figures les plus visibles de cet espace et qui devraient aujourd’hui s’effacer.

Qu’est-ce qui fait qu’une chose est « open source » ? L’OSI en dresse une courte liste. Vous pouvez la lire rapidement, mais concentrons-nous sur le point 2 : le code source :

Le programme doit inclure le code source et doit permettre la distribution du code source et de la version compilée. Lorsqu’une quelconque forme d’un produit n’est pas distribuée avec le code source, il doit exister un moyen bien connu d’obtenir le code source pour un coût de reproduction raisonnable, de préférence en le téléchargeant gratuitement sur Internet. Le code source doit être la forme préférée sous laquelle un programmeur modifierait le programme. Le code source délibérément obscurci n’est pas autorisé. Les formes intermédiaires telles que la sortie d’un préprocesseur ou d’un traducteur ne sont pas autorisées.
Open Source Initiative

Pour être open source, un logiciel doit donc être accompagné de ses sources. D’accord, ce n’est pas surprenant. Mais les rédacteurs ont vu pas mal de conneries et ont donc ajouté que le code obfusqué (c’est-à-dire le code qui a été manipulé pour être illisible) ou les formes intermédiaires (c’est-à-dire que vous n’obtenez pas les sources réelles mais quelque chose qui a déjà été traité) ne sont pas autorisés. Très bien. C’est logique. Mais pourquoi les gens s’intéressent-ils aux sources ?

Les sources de la vérité

L’open source est un phénomène de masse relativement récent. Nous avions déjà des logiciels, et même certains pour lesquels nous ne devions pas payer. À l’époque, on les appelait des « Freeware », des « logiciels gratuits ». Les freewares sont des logiciels que vous pouvez utiliser gratuitement mais dont vous n’obtenez pas le code source. Vous ne pouvez pas modifier le programme (légalement), vous ne pouvez pas l’auditer, vous ne pouvez pas le compléter. Mais il est gratuit. Et il y avait beaucoup de cela dans ma jeunesse. WinAMP, le lecteur audio dont j’ai parlé plus haut, était un freeware et tout le monde l’utilisait. Alors pourquoi se préoccuper des sources ?

Pour certains, il s’agissait de pouvoir modifier les outils plus facilement, surtout si le responsable du logiciel ne travaillait plus vraiment dessus ou commençait à ajouter toutes sortes de choses avec lesquelles ils n’étaient pas d’accord (pensez à tous ces logiciels propriétaires que vous devez utiliser aujourd’hui pour le travail et qui contiennent de l’IA derrière tous les autres boutons). Mais il n’y a pas que les demandes de fonctionnalités. Il y a aussi la confiance.

Lorsque j’utilise un logiciel, je dois faire confiance aux personnes qui l’ont écrit. Leur faire confiance pour qu’ils fassent du bon travail, pour qu’ils créent des logiciels fiables et robustes. Qu’ils n’ajoutent que les fonctionnalités décrites dans la documentation et rien de caché, de potentiellement nuisible.

Les questions de confiance sont de plus en plus importantes, d’autant plus qu’une grande partie de notre vie réelle repose sur des infrastructures numériques. Nous savons tous que nos infrastructures doivent comporter des algorithmes de chiffrement entièrement ouverts, évalués par des pairs et testés sur le terrain, afin que nos communications soient à l’abri de tout danger.

L’open source est – en particulier pour les systèmes et infrastructures critiques – un élément clé de l’établissement de cette confiance : Parce que vous voulez que (quelqu’un) soit en mesure de vérifier ce qui se passe. On assiste depuis longtemps à une poussée en faveur d’une plus grande reproductibilité des processus de construction. Ces processus de compilation garantissent essentiellement qu’avec le même code d’entrée, on obtient le même résultat compilé. Cela signifie que si vous voulez savoir si quelqu’un vous a vraiment livré exactement ce qu’il a dit, vous pouvez le vérifier. Parce que votre processus de construction créerait un artefact identique.

Logo du projet Reproducible builds
Le projet Reproducible builds cherche à promouvoir la reproductibilité des systèmes libres, pour plus de transparence.
Le projet est notamment financé par le Sovereign Tech Fund.

 

Bien entendu, tout le monde n’effectue pas ce niveau d’analyse. Et encore moins de personnes n’utilisent que des logiciels issus de processus de construction reproductibles – surtout si l’on considère que de nombreux logiciels ne sont pas compilés aujourd’hui. Mais les relations sont plus nuancées que le code et la confiance est une relation : si vous me parlez ouvertement de votre code et de la manière dont la version binaire a été construite, il me sera beaucoup plus facile de vous faire confiance. Savoir ce que contient le logiciel que j’exécute sur la machine qui contient également mes relevés bancaires ou mes clés de chiffrement.

Mais quel est le rapport avec l’IA ?

Les systèmes d’IA et les 4 libertés

Les systèmes d’IA sont un peu particuliers. En effet, les systèmes d’IA – en particulier les grands systèmes qui fascinent tout le monde – ne contiennent pas beaucoup de code par rapport à leur taille. La mise en œuvre d’un réseau neuronal se résume à quelques centaines de lignes de Python, par exemple. Un « système d’IA » ne consiste pas seulement en du code, mais en un grand nombre de paramètres et de données.

Un LLM moderne (ou un générateur d’images) se compose d’un peu de code. Vous avez également besoin d’une architecture de réseau, c’est-à-dire de la configuration des neurones numériques utilisés et de la manière dont ils sont connectés. Cette architecture est ensuite paramétrée avec ce que l’on appelle les « poids » (weights), qui sont les milliards de chiffres dont vous avez besoin pour que le système fasse quelque chose. Mais ce n’est pas tout.

Pour traduire des syllabes ou des mots en nombres qu’une « IA » peut consommer, vous avez besoin d’une intégration, une sorte de table de recherche qui vous indique à quel « jeton » (token) correspond le nombre « 227 ». Si vous prenez le même réseau neuronal mais que vous lui appliquez une intégration différente de celle avec laquelle il a été formé, tout tomberait à l’eau. Les structures ne correspondraient pas.

Représentation d'une puce informatique sous la forme d'un cerveau.
Image sous CC BY par Mike MacKenzie & Liam Huang

Ensuite, il y a le processus de formation, c’est-à-dire le processus qui a créé tous les « poids ». Pour entraîner une « IA », vous lui fournissez toutes les données que vous pouvez trouver et, après des millions et des milliards d’itérations, les poids commencent à émerger et à se cristalliser. Le processus de formation, les données utilisées et la manière dont elles le sont sont essentiels pour comprendre les capacités et les problèmes d’un système d’apprentissage automatique : si vous voulez réduire les dommages dans un réseau, vous devez savoir s’il a été formé sur Valeurs Actuelles ou non, pour donner un exemple.

Et c’est là qu’est le problème.

L’OSI « The Open Source AI Definition – 1.0-RC1 » exige d’une IA open source qu’elle offre quatre libertés à ses utilisateurs :

  1. Utiliser le système à n’importe quelle fin et sans avoir à demander la permission.
  2. Étudier le fonctionnement du système et inspecter ses composants.
  3. Modifier le système dans n’importe quel but, y compris pour changer ses résultats.
  4. Partager le système pour que d’autres puissent l’utiliser, avec ou sans modifications, dans n’importe quel but.

Jusqu’ici tout va bien. Cela semble raisonnable, n’est-ce pas ? Vous pouvez inspecter, modifier, utiliser et tout ça. Génial. Tout est couvert dans les moindre détails, n’est-ce pas ? Voyons rapidement ce qu’un système d’IA doit offrir. Le code : Check. Les paramètres du modèle (poids, configurations) : Check ! Nous sommes sur la bonne voie. Qu’en est-il des données ?

Informations sur les données : Informations suffisamment détaillées sur les données utilisées pour entraîner le système, de manière à ce qu’une personne compétente puisse construire un système substantiellement équivalent. Les informations sur les données sont mises à disposition dans des conditions approuvées par l’OSI.

En particulier, cela doit inclure (1) une description détaillée de toutes les données utilisées pour la formation, y compris (le cas échéant) des données non partageables, indiquant la provenance des données, leur portée et leurs caractéristiques, la manière dont les données ont été obtenues et sélectionnées, les procédures d’étiquetage et les méthodes de nettoyage des données ; (2) une liste de toutes les données de formation accessibles au public et l’endroit où les obtenir ; et (3) une liste de toutes les données de formation pouvant être obtenues auprès de tiers et l’endroit où les obtenir, y compris à titre onéreux.
Open Source Initiative

Que signifie « informations suffisamment détaillées » ? La définition de l’open source ne parle jamais de « code source suffisamment détaillé ». Vous devez obtenir le code source. Tout le code source. Et pas sous une forme obscurcie ou déformée. Le vrai code. Sinon, cela ne veut pas dire grand-chose et ne permet pas d’instaurer la confiance.

La définition de l’« IA Open Source » donnée par l’OSI porte un grand coup à l’idée d’open source : en rendant une partie essentielle du modèle (les données d’entraînement) particulière de cette manière étrange et bancale, ils qualifient d’« open source » toutes sortes de choses qui ne le sont pas vraiment, sur la base de leur propre définition de ce qu’est l’open source et de ce à quoi elle sert.

Les données d’apprentissage d’un système d’IA font à toutes fins utiles partie de son « code ». Elles sont aussi pertinentes pour le fonctionnement du modèle que le code littéral. Pour les systèmes d’IA, elles le sont probablement encore plus, car le code n’est qu’une opération matricielle générique avec des illusions de grandeur.

L’OSI met une autre cerise sur le gâteau : les utilisateurs méritent une description des « données non partageables » qui ont été utilisées pour entraîner un modèle. Qu’est-ce que c’est ? Appliquons cela au code à nouveau : si un produit logiciel nous donne une partie essentielle de ses fonctionnalités simplement sous la forme d’un artefact compilé et nous jure ensuite que tout est totalement franc et honnête, mais que le code n’est pas « partageable », nous n’appellerions pas ce logiciel « open source ». Parce qu’il n’ouvre pas toutes les sources.

Une « description » de données partiellement « non partageables » vous aide-t-elle à reproduire le modèle ? Non. Vous pouvez essayer de reconstruire le modèle et il peut sembler un peu similaire, mais il est significativement différent. Cela vous aide-t-il d’« étudier le système et d’inspecter ses composants » ? Seulement à un niveau superficiel. Mais si vous voulez vraiment analyser ce qu’il y a dans la boîte de statistiques magiques, vous devez savoir ce qu’il y a dedans. Qu’est-ce qui a été filtré exactement, qu’est-ce qui est entré ?

Cette définition semble très étrange venant de l’OSI, n’est-ce pas ? De toute évidence, cela va à l’encontre des idées fondamentales de ce que les gens pensent que l’open source est et devrait être. Alors pourquoi le faire ?

L’IA (non) open source

Voici le truc. À l’échelle où nous parlons aujourd’hui de ces systèmes statistiques en tant qu’« IA », l’IA open source ne peut pas exister.

De nombreux modèles plus petits ont été entraînés sur des ensembles de données publics explicitement sélectionnés et organisés. Ceux-ci peuvent fournir toutes les données, tout le code, tous les processus et peuvent être appelés IA open-source. Mais ce ne sont pas ces systèmes qui font s’envoler l’action de NVIDIA.

Ces grands systèmes que l’on appelle « IA » – qu’ils soient destinés à la génération d’images, de texte ou multimodaux – sont tous basés sur du matériel acquis et utilisé illégalement. Parce que les ensembles de données sont trop volumineux pour effectuer un filtrage réel et garantir leur légalité. C’est tout simplement trop.

Maintenant, les plus naïfs d’entre vous pourraient se demander : « D’accord, mais si vous ne pouvez pas le faire légalement, comment pouvez-vous prétendre qu’il s’agit d’une entreprise légitime ? » et vous auriez raison, mais nous vivons aussi dans un monde étrange où l’espoir qu’une innovation magique et / ou de l’argent viendront de la reproduction de messages Reddit, sauvant notre économie et notre progrès.

L’« IA open source » est une tentative de « blanchir » les systèmes propriétaires. Dans leur article « Repenser l’IA générative open source : l’openwashing et le règlement sur l’IA de l’UE », Andreas Liesenfeld et Mark Dingemanse ont montré que de nombreux modèles d’IA « Open-Source » n’offrent guère plus que des poids de modèles ouverts. Signification : Vous pouvez faire fonctionner la chose mais vous ne savez pas vraiment ce que c’est.

Cela ressemble à quelque chose que nous avons déjà eu : c’est un freeware. Les modèles open source que nous voyons aujourd’hui sont des blobs freeware propriétaires. Ce qui est potentiellement un peu mieux que l’approche totalement fermée d’OpenAI, mais seulement un peu.

Certains modèles proposent des fiches de présentation du modèle ou d’autres documents, mais la plupart vous laissent dans l’ignorance. Cela s’explique par le fait que la plupart de ces modèles sont développés par des entreprises financées par le capital-risque qui ont besoin d’une voie théorique vers la monétisation.

L’« open source » est devenu un autocollant comme le « Commerce équitable », quelque chose qui donne l’impression que votre produit est bon et digne de confiance. Pour le positionner en dehors du diabolique espace commercial, en lui donnant un sentiment de proximité. « Nous sommes dans le même bateau » et tout le reste. Mais ce n’est pas le cas. Nous ne sommes pas dans le même bateau que Mark fucking Zuckerberg, même s’il distribue gratuitement des poids de LLM parce que cela nuit à ses concurrents. Nous, en tant que personnes normales vivant sur cette planète qui ne cesse de se réchauffer, ne sommes avec aucune de ces personnes.

Photo d'un sticker où il est marqué « Open-Source Fuck Yeah ».
Les libristes adorent pourtant les stickers. Image sous CC BY-SA par Kirsten Comandich.

Mais il y a un autre aspect à cette question, en dehors de redorer l’image des grands noms de la technologie et de leurs entreprises. Il s’agit de la légalité. Au moins en Allemagne, il existe des exceptions à certaines lois qui concernent normalement les auteurs de LLM : si vous le faites à des fins de recherche, vous êtes autorisé à récupérer pratiquement n’importe quoi. Vous pouvez ensuite entraîner des modèles et publier ces poids, et même s’il y a des contenus de Disney là-dedans, vous n’avez rien à craindre. C’est là que l’idée de l’IA open source joue un rôle important : il s’agit d’un moyen de légitimer un comportement probablement illégal par le biais de l’openwashing : en tant qu’entreprise, vous prenez de l’« IA open source » qui est basée sur tous les éléments que vous ne seriez pas légalement autorisé à toucher et vous l’utilisez pour construire votre produit. Faites de l’entraînement supplémentaire avec des données sous licence, par exemple.

L’Open Source Initiative a attrapé le syndrome FOMO (N.d.T : Fear of Missing Out) – tout comme le jury du prix Nobel. Elle souhaite également participer à l’engouement pour l’« IA ».

Mais pour les systèmes que nous appelons aujourd’hui « IA », l’IA open source n’est pas possible dans la pratique. En effet, nous ne pourrons jamais télécharger toutes les données d’entraînement réelles.

« Mais tante, nous n’aurons jamais d’IA open source ». C’est tout à fait exact. C’est ainsi que fonctionne la réalité. Si vous ne pouvez pas remplir les critères d’une catégorie, vous n’appartenez pas à cette catégorie. La solution n’est pas de changer les critères. C’est comme jouer aux échecs avec les pigeons.

 




Rome, septembre 2023 : journal de bord de la troisième visite d’études d’ECHO Network

Pour rappel, les participant⋅es à l’échange européen ECHO Network font partie de 7 organisations différentes dans 5 pays d’Europe : Ceméa France, Ceméa Federzione Italia, Ceméa Belgique, Willi Eichler Academy (Allemagne), Solidar Foundation (réseau européen), Centar Za Mirovne Studije (Croatie), Framasoft (France).

Compte-rendu de la semaine à Rome.


Click here to read the article in English.

C’est la troisième visite d’étude dans le cadre du programme ECHO Network, cette visite nous mène à Rome, la ville musée. Enfin nous : seulement Numahell, puisque le COVID en a décidé autrement pour les trois autres qui avaient prévu de venir…

Après un petit périple par bus puis train depuis Lyon, j’arrive dans l’après-midi à la gare Termini à Rome. Avec les membres des CEMÉA France, nous rejoignons deux membres de Solidar pour manger ensemble. Des questions sur l’educ’pop nous traversent dès le premier soir pendant le repas : quelle est la différence entre éducation populaire et éducation active ? Et l’éducation active, il se passe quoi si tu n’as aucune curiosité ? Bref, des discussions très riches.

Gare de Termini (CAPTAIN RAJU - CC BY-SA - Wikimedia)
Gare de Termini (CAPTAIN RAJU – cc-by-sa – Wikimedia)

Les deux premières journées se déroulent dans la « Casa del municipio » à Rome. Ces maisons municipales permettent aux associations de la ville de s’y retrouver, de faire des activités, de réserver gratuitement des salles. Un peu comme certaines maisons de quartier en France, ou les maisons des associations dans les grandes villes (sauf que dans la plupart des grandes villes c’est payant, par exemple à Toulouse c’est 60€ l’année).

Nous commençons par des exercices de brise-glace pour apprendre à se connaître : épeler le prénom de chacun-e en mimant les voyelles de son prénom, communiquer pour se positionner dans l’ordre alphabétique, et enfin se classer par rapport à là d’où nous venons, du plus loin au plus proche. Animés par Christina des CEMÉA Mezzo Giorno, ces brises glaces seront notre rituel de début de journée.

Jour 1 : formation à distance, projection sur ECHO Network, visite de squat

Formation à distance, en présence : retours d’expérience et début de stratégies

La première matinée est consacrée à des retours d’expérience de trois organisations sur la formation à distance. Si vous vous souvenez, il y a à peu près 3-4 ans il y a eu un confinement ou deux… nous obligeant à modifier nos pratiques en terme de formation.

L’Acque Correnti (traduction : « les courants d’eau ») doit former les bénévoles de l’équivalent italien du service civique, environ 15000 personnes par an. L’état italien fixe des règles strictes sur la formation des services civiques, il y a trois volets.
Soudain, le Covid et paf : la question de la formation à distance se pose. Massimiliano raconte comment ils ont utilisé les fonctionnalités de sous-salles de Zoom (nous connaissons l’alternative libre BigBlueButton qui offre également cette fonctionnalité).

Fondé en 1951 par des éducateur⋅ices et des enseignants, le Movimiento di cooperazione Educativo prône les méthodes de pédagogie active. Il fait partie de la FIMEM, organisation internationale autour de la pédagogie Freinet, créée dans les années 50.
Constitué de groupes territoriaux, ils assurent des activités de formation chaque année, et animent également un groupe de recherche au niveau national, sur les disciplines dont ils s’occupent.
Pour le public enfants, cela va de la maternelle au secondaire. Les formations sont assurées majoritairement à distance, et ce avant le COVID.
Donatella présente l’expérience accumulée, et notamment le site senzascuola.wordpress.com.

Les CEMÉA Federazione Italiana comme son nom l’indique fédère les CEMÉA d’Italie. Les formations assurées par la fédération ce sont dix stages par an, environ neuf jours par stage. Au début, de nombreux formateur⋅ices refusaient d’enseigner à distance : il est important de reconnaître les limites de l’enseignement à distance. Luciano explique qu’il faut « curbare la technologia » (courber, tordre la technologie) à nos pratiques, et non l’inverse. La question est de savoir comment utiliser nos méthodes de pédagogie actives à distance. Il revient sur onze problématiques de la formation à distance, dont certaines sont similaires en ligne ou sur site, telle que la gestion du temps et de l’espace, ou l’alternance des types d’apprentissage.

Le temps de questions / réponses a permis de dégager quelques points intéressants. L’un de nos hôtes, Claudio, indique qu’il faut plus craindre la déshumanisation que les technologies elles-mêmes. De plus, les projections virtuelles nous restreignent l’utilisation de notre langage corporel, de par la vision du corps à travers l’espace 2D des écrans. Il est donc important de se réapproprier les corps et les espaces en 3D, par exemple par des pauses loin de nos ordinateurs.
Les questions d’accessibilité  contribuent également à la marginalisation de certain·es participant·es, notamment la question de la barrière de la langue.

Nous nous accordons à dire qu’il ne faut pas abandonner la formation en ligne aux marchés privés : ces organisations ne font pas forcément de pédagogie active et ont un but plus lucratif qu’émancipateur. Malheureusement, ce sont ces organisations que les institutions financent, l' »ed tech » (education technologies), plutôt que les collectifs d’éducation populaire, à visée plus éthique.

L’ESS, l’enseignement au numérique en Italie

L’après-midi, nous réfléchissons collectivement à la suite du projet Echo Network, en répondant aux questions suivantes : ce que fait chacune de nos structures, ce qui nous intéresse toustes et enfin les perspectives futures du projet.

Tableau avec des post-it attachés dessus.

Nous nous sommes réparti·es ensuite en petits groupes pour une discussion plus informelle. Dans mon groupe, nous avons comparé les pratiques entre l’Italie, la France et Belgique sur l’ESS (Économie Sociale et Solidaire) puis sur la place de l’enseignement du numérique à l’école.

Christina des CEMÉA Mezzo Giorno expose la situation en Italie, où des réformes récentes ont reconfiguré le paysage de l’ESS (Économie Sociale et Solidaire).
En Italie, trois statuts d’organisations sont inclus dans l’ESS :

  • l’Odivu qui est un type d’organisation de volontariat
  • les APIES : des associations à visées sociales, à but non lucratif et ayant moins de 50% de salariés
  • les « impresa sociale », un nouveau type d’entreprise avec des composantes sociales, actuellement en expérimentation

Les frontières sont floues entre ces types d’organisation. Le débat actuel en Italie porte sur la limite public / privé et le contrôle de l’éthique : la troisième catégorie amène un assouplissement des règles pour déterminer si une organisation relève de l’économie sociale ou non. Un peu comme on peut le voir en France avec la RSE (Responsabilité Sociétale des Entreprises), il existe un risque important de social-washing.

Nous apprenons qu’en Italie, les directeurices d’établissement ont beaucoup plus de pouvoir qu’en France et qu’un cloisonnement existe entre écoles et associations, y compris au niveau des enseignants. Cela empêche les associations d’intervenir dans les écoles et d’y amener des méthodes actives et des thématiques comme la sensibilisation aux enjeux du numérique.
En Belgique, c’est paradoxalement dans les écoles « libres » (privées) qu’il y a de plus en plus d’expérimentations de la pédagogie active. Il y a donc de quoi creuser sur le contexte socio-structurel de chaque pays sur ces sujets.

Ensuite, sur la thématique du numérique, j’ai parlé pour le cas français du langage de programmation Scratch qui est utilisé en cours de techno au collège et des Sciences Numériques et Techniques en seconde. J’aurais aussi pu parler de la plateforme PIX, qui est utilisée pour la validation des acquis.

Sur le sujet du matériel, j’explique qu’en France bien souvent celui-ci devient vite obsolète et est mal maintenu. Il dépend des mairies, départements ou régions selon la nature de l’établissement.
En Italie, l’État investit beaucoup avec l’argent de l’EU, des TNI (Tableaux Numériques Interactifs) équipent quasiment chaque classe, mais les enseignants ne sont pas formés et n’en connaissent pas le dixième des possibilités.

Selon des recherches récentes, environ 75% des enseignants utilisent des méthodes de pédagogie frontales en Italie : je me demande combien en France.

Enfin, nous parlons un peu de la question de l’utilisation du jeu ou du jeu vidéo en classe, et j’en profite pour mentionner aux copain·es le projet Minetest (un équivalent libre à Minecraft).

 

Tout un immeuble en autogestion, un commun dans la ville

Nous visitons en fin d’après-midi un lieu d’occupation emblématique à Rome, Spin Time Labs, qui accueille à la fois des réfugié⋅es, des SDF, des étudiant⋅es grévistes contre la hausse des loyers. Le bâtiment dispose d’un auditorium, d’une salle de concert, d’un studio de radio. De nombreuses activités culturelles et artisanales s’y déroulent, nous découvrons en particulier un journal papier édité par un collectif composé exclusivement de jeunes de moins de 25 ans, Scomodo.

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

 

Cet endroit est géré par ses habitant⋅es et contributeurices, il n’y a pas de loyer mais les personnes qui bénéficient du lieu peuvent proposer en échange leur temps, faire des dons financiers ou proposer leur aide sur des chantiers de réfection.

Environ 150 familles sont logées dans cet immeuble occupé, où même la mairie de Rome, pourtant peu orientée à gauche, tolère ce squat pour les services qui y sont rendus, et même les travailleurs sociaux de la mairie renvoient des personnes vers ce lieu pour y trouver de l’aide et des ressources.

Après cette visite, nous nous sommes retrouvé·es pour discuter dans une rue animée du quartier Pigneto, où les riverain·es sont particulièrement investi·es dans la vie du quartier.

Jour 2 : IA, ateliers

Le lendemain 27 septembre, Claudio nous reçoit pour nous présenter le CSV (Centro di servicio volontario) Lazzio. Le lieu est un peu sa maison, on l’y sent comme un poisson dans l’eau.

Christina anime un jeu pour se dégourdir : chacun choisit un geste qui lui correspond et l’a désigné tout le long du jeu, ce qui nous a obligées à avoir une attention visuelle durant ce moment. Ce type d’exercice d’éducation populaire a pour but d’améliorer la cohésion du groupe, et ça fonctionne !

Présentation sur l’IA

Ensuite, nous assistons à la présentation de Marika Mashitti, doctorante à l’Université Roma tre au département des sciences de l’éducation.

Elle commence par des définitions (ce qu’est une IA, les différents types de systèmes) et rappelle que l’IA est surtout une discipline scientifique. Puis elle enchaîne sur un petit historique, qui montre la rapidité des dernières avancées, notamment depuis le début de la pandémie, comme si c’était devenu une urgence de développer ce domaine.

Pour elle, c’est une question de pouvoir. En effet, qui est impliqué dans les recherches sur les IA ? Des personnalités comme Elon Musk et des géants du web tels que Alphabet, Meta, Microsoft, etc.

Elle donne quelques exemples de biais dus aux IA : des discriminations dans la reconnaissance des visages (seulement 52% de succès dans la reconnaissance de visages de femmes noires), des publicités ciblées pour des opportunités de jobs, le profiling.

Extrait d'une diapositive de la présentation, parlant de « l'algocratie ».

Le mot « Algocracy » (« le pouvoir par les algorithmes », forgé par Danaher, 2018), est lâché. Elle insiste sur le fait que la technologie n’est jamais neutre. Elle aborde le point de singularité, en reprenant la proposition de Frederico Cabitza, Professeur à l’Université de Milan. Il définit la singularité comme le moment où l’humain choisit de laisser quasi-intégralement le contrôle à la machine plutôt que sa définition classique, à savoir le moment où celle-ci devient indistinguable d’un humain.

Les membres de l’assemblée ont bien apprécié sa présentation, aussi bien son contenu que l’énergie qui l’anime et posent de nombreuses questions.

 

Les enjeux du numérique en atelier

Nous commençons l’après-midi avec un jeu que j’ai proposé, et que j’avais déjà expérimenté au Camp Climat 2022. il s’agit de se positionner sur deux axes pour une question donnée : un axe selon son niveau de confiance (en anglais : confidence) et l’autre son niveau d’aisance (en anglais : confortable), en se séparant en trois groupes. Christina, Morgane et Claudio ont préparé une liste de 4 problématiques :

  • la formation en ligne
  • les IA
  • les règlementations politiques au sujet du numérique
  • le pouvoir d’agir

Des discussions intéressantes ont eu lieu, chaque personne devant expliciter son choix de positionnement. Cet exercice a permis aux personnes qui avaient peu pris la parole de s’exprimer, les petits groupes facilitant l’écoute. J’y apprends que deux personnes du groupe utilisent régulièrement des IA génératives pour leurs travail quotidien dans la communication, et que la conférence de ce matin leur a fait prendre conscience des enjeux.

Ensuite nous reprenons les discussions, soit autour du travail fait la veille, soit sur les écrits démarrés le matin, pour en faire un résumé sur une feuille A2 : mon groupe a représenté tout cela en un nuage de mots.

Jour 3 : ateliers, « Zazie Nel Metro », rétrospective de la semaine

Ateliers numériques en impro

Le jeudi, nous nous retrouvons dans le même lieu pour deux ateliers sur le numérique, imaginés la veille suite à la réorganisation d’une partie du programme, du fait de l’absence d’un de nos camarades covidés.
Nous avons animé ces deux ateliers en parallèle deux fois, pour que chaque groupe en bénéficie.

  • atelier mobile : les paramètres pour améliorer sa vie privée, et quelques applications libres intéressantes. Animé par Domenico et moi-même.
  • atelier desktop / internet : des logiciels et des applications libres pour s’organiser, notamment Zourit. Animé par Lucas des CEMÉA Belgique et Olivier des CEMÉA France

#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 */

 

 

J’ai été étonnée car nous n’étions que peu nombreux⋅ses à connaitre ces outils et astuces. Les participant⋅es ont vraiment apprécié de les découvrir. Je trouve ce format d’atelier pratique pour mettre le pied à l’étrier et permettre d’éviter les listes à la Prévert, qui noient parfois l’auditoire.

Visite de « Zazie Nel Metro »

Zazie Nel Metro est un bar associatif et sa librairie associée, gérés par un collectif de personnes très chouettes, qui organisent divers évènements artistiques et citoyens. Iels organisaient 3 jours après un festival nommé « Zazie la bona vita », alliant discussions militantes / politiques et concerts.

Photo d'une affiche du festival, avec le slogan « Zazie Fest Bona Vita »

Notre hôte nous présente une sélections de livres d’auteurices anarchistes ou engagés à gauche, notamment « Cimento, arme di construzionna di massa », de Anselm Jappe, ou encore un livre de Ivan Illich que nous apprécions chez Framasoft. Cela fait écho étrangement à de trop nombreux projets de constructions inutiles, imposés et écocides…

Photos de différents livres posés sur une table

J’y retournerai si je reviens un jour à Rome (e perchè no :))

Retour sur les 3 jours

Nous nous retrouvons dans l’après-midi au local des CEMÉA Mezzo Giorno (ce qui signifie « Milieu de jour » mais aussi « centre de l’Italie »).

Morgane anime le moment qui suit en demandant à chacun·e de noter sur des post-it trois choses de notre séjour, que l’on classe sur trois affiches illustrées :

  • ce qu’il faut conserver (dans un frigo)
  • ce à quoi je vais repenser dans les prochaines semaines (🧠)
  • ce qu’il faut jeter (une poubelle très bien dessinée)

Photo d'une assemblée de personnes assises en cercle avec 3 feuilles de papier au centre, et des morceaux de papiers posés sur ces 3 feuilles.

Invitation à la fête de l’école

Pour finir ce dernier jour, certains d’entre nous assistent à la fête de l’école dans laquelle interviennent nos hôtes des CEMÉA Mezzo Giorno, Christina et Domenico. Cette école se situe dans un quartier populaire mixte socialement ; elle est intéressante car les CEMÉA Mezzo Giorno ont initié depuis plus d’une dizaine d’années une multitude de projets (activités en commun, ateliers musique, …) ayant notamment pour objectif de faire en sorte que la population des migrants soit mieux acceptée : et ça fonctionne.

J’avoue que j’ai un petit moment de nostalgie, tant cette ambiance de fête d’école m’en rappelle d’autres. Et il est temps de prendre congé, je visiterai Rome le lendemain et continuerai mon voyage de retour en France tranquillement en train, ayant le privilège d’avoir du temps devant moi cette fois là.

 

 




L’amour en commun : essai subversif

À l’occasion de la parution de L’amour en commun, essai de la collection Des Livres en Communs (Framasoft), nous avons questionné les auteurices. Leur cheminement peut se mesurer à l’aune du premier point d’étape que nous avions publié en avril 2023. Un impressionnant travail d’écriture et de questionnement !

Couverture du livre L'amour en commun
Retrouvez L’amour en commun sur le site DLEC

Margaux, Timothé, vous venez d’écrire un livre à quatre mains dans la collection Des Livres en Commun. C’est le premier ouvrage de la collection subventionné sur notre modèle de mise en commun de la connaissance et pour lequel vous aviez proposé un projet très motivant. Après presque deux ans d’efforts voici un travail remarquable et stimulant sur l’amour et comment le fait de penser nos relations sociales à travers cette notion permet aussi de proposer une alternative au capitalisme et ses imaginaires. C’est une grosse dissert’ de philo ou c’est autre chose ?

Margaux — À vrai dire, j’ai du mal à définir ce que recouvre cet essai. C’est peut-être un OVNI, un ouvrage non-identifié, un projet tentaculaire qui partait d’un questionnement sur les limites des modèles relationnels dans lesquels nous évoluions et qui est allé vers quelque chose de plus grand.

En fait, une fois que nous avions posé le constat que les modèles classiques de la famille et de l’amour étaient à réinventer, ce qui nous semblait évident, c’est comme si tout l’ouvrage restait encore à écrire. Qu’est-ce qui fait que le changement individuel ne marche pas ? Quelles structures sociales nous empêchent de nous aimer mieux ? Comment faire autrement ? Dans les expérimentations qui ont tenté de sortir du capitalisme, qu’est-ce qui peut nous inspirer et qu’est-ce qui a été mythifié et nous aveugle au contraire ? Nous avons avancé dans le projet au fil de nos lectures, en changeant de direction, d’avis, de plan d’ouvrage. Donc je dirais que c’est un livre de cheminement de pensée, qui recouvre deux ans de formation politique à grand coup de fiches de lectures, de rencontres et de discussions. Nous n’avons rien inventé, nous avons collecté, mis en lien, synthétisé ce que nous amassions. Avec la spécificité de faire tout ça à quatre mains, donc en se donnant une confiance et une liberté totale, y compris celle de ne pas être forcément d’accord au mot près avec ce qu’écrivait l’autre.

En bref, c’est un livre qui a suscité plus de questions que de réponses. Il en reste encore plein !

Timothé — Une « Grosse disser’t » de philo, c’est à la fois un peu dur et un peu gentil. Personnellement je ne pense pas savoir écrire une disser’t, alors je doute d’en avoir écrit une à l’insu de mon plein gré. En plus notre sommaire n’est, je pense, pas adapté à une dissert, il part dans trop de directions. Cet essai est plutôt entre un panier en osier et un topo d’escalade. Dans le panier, les idées s’accrochent et se mêlent pour donner un ensemble solide qui peut servir à accueillir de nouvelles choses. Avec un topo d’escalade, les parties peuvent être prises individuellement pour partir affronter la face d’une montagne, mais collectivement ces parties décrivent l’ensemble de la montagne. En plus, comme ledit Margaux c’est tout à fait un cheminement, et qui continue souvent à cheminer dans ma tête, avec de nouvelles idées qui surgissent… Mais bon, aujourd’hui nous avons décidé de ne plus rien rajouter pour pouvoir sortir le livre. Nous avons fait notre part et maintenant c’est aux lecteurices de prendre la suite si iels ont en envie. C’est un livre libre, alors servez-vous-en et enrichissez-le si le cœur vous en dit.

De l’amour courtois médiéval aux princes et les princesses des contes, de Marivaux à Titanic, les représentations de l’amour sont surtout des émergences du romantisme et du couple sempiternellement revisité, et caricaturé. Pourtant face à la diversité des sentiments, on nous ressert bien souvent la même soupe. Qu’est-ce que vous entendez par une idéologie de la domination ? et vous répondez quoi ?

Margaux — Pour répondre à cette question, il faut définir rapidement ce que j’entends quand je parle d’amour romantique dans cet essai. C’est un ensemble de normes, véhiculé par la culture occidentale et façonnant des imaginaires largement partagés sur ce que l’amour (le vrai) devrait être.

D’une manière un peu ringarde en effet, c’est le·a princesse charmant·e, c’est l’idée d’un·e âme sœur complémentaire, d’un·e partenaire qui nous est prédestiné·e, avec lequel nous pourrions fusionner dans une histoire d’amour sans fin. Mais c’est plus complexe que ça. Si nous sommes à peu près tous·tes d’accord pour rejeter cette représentation, l’amour romantique n’a pas disparu pour autant de nos manières d’entrer en relation. Le problème, c’est que l’amour romantique est une construction sociale indissociablement liée à celle du couple hétérosexuel :c’est sa forme légitime. Or le couple hétérosexuel, dans le mythe de la complémentarité entre ses partenaires, vient lui-même renforcer l’idée que le sexe se confond avec l’identité de genre et un désir pour le sexe opposé.

Autrement dit, les discours qui me préexistent, dont ceux sur l’amour romantique, m’amènent à penser que si j’ai une vulve, je suis une femme et je suis attirée par les hommes, et que si je souhaite avoir accès au couple et à la famille, il va falloir m’en contenter. L’idéologie de la domination, j’y viens, c’est donc le fait que sous le voile de l’amour romantique, on en vient à justifier des violences patriarcales, des inégalités et l’exclusion de toutes les personnes qui ne se retrouvent pas dans les schémas hétérosexuels, monogames et genrés.

Ce que je réponds à l’idéologie de la domination… c’est qu’on n’est pas sorti·es de l’auberge ! Je pense que sortir du patriarcat (ce qui me semble essentiel à des relations amoureuses saines), c’est sortir du binarisme de genre. Ensuite, il faut penser la question du pouvoir. Je trouve que l’amour romantique vient souvent hanter nos tentatives de réinvention du sentiment amoureux. Par exemple, que la non-exclusivité est une passade jusqu’à ce qu’une relation monogame se stabilise et évince les autres. Ou au contraire, que la coexistence de plusieurs relations, au nom de la réinvention du modèle amoureux, va légitimer une mise en compétition des partenaires et un fort individualisme affectif. La solution la plus convaincante que j’ai trouvée pour le moment, ce sont les réseaux affectifs de Brigitte Vasallo, et de se décentrer du rapport amoureux pour valoriser l’amitié. Mais là, il va falloir lire le livre parce que je suis en train de le divulgâcher 🙂

Timothé — C’est Margaux qui a travaillé sur cette partie, alors je n’ai pas grande chose à ajouter.

Les pirates Ann Bonny et Mary Read (1724, B. Cole). Wikimedia. Domaine public.
Les pirates Ann Bonny et Mary Read (1724, B. Cole). Wikimedia. Domaine public.

Depuis les années 1980, il y a une sociologie de la famille, une géographie de la famille, on s’intéresse au mariage, aux transmissions culturelles, l’apport structurel de la parenté dans la société, la parentalité, la sexualité, etc… mais cette notion dans l’histoire des sciences est assez instable et ne recouvre pas toujours les mêmes choses. Vous parlez d’un imaginaire de la famille, qui serait même « de droite », et vous pensez l’alternative de la parentèle : les pratiques sont-elles en train de changer ?

Timothé ­— J’espère !!!

Une statistique importante c’est qu’aujourd’hui presque la moitié des enfants vivent dans des familles recomposées. C’est une énorme modification. Après, de là à dire qu’elle est de droite ou de gauche…

Dans sa partie sur les « couples » Margaux rapporte des interviews qu’elle a faites, ce qui appuie de façon directe son propos. De mon côté j’en ai fait 3. Une dans un habitat collectif dont les membres retapent collectivement un corps de ferme pour qu’à la fin chacun.e y ait son logement. Une d’un couple qui a une petite fille et qui vit avec un ou deux colocs suivant les moments. Et enfin une de deux ami.es qui, dans la mesure du possible, essayent de prioriser leur relation sur le travail. C’était mes premières interviews, et je n’ai pas réussi à en faire sortir des citations que je pouvais facilement incorporer au texte. Donc je ne l’ai pas fait. C’est 3 groupes qui sont déjà une marque de changement et créent des pratiques qui, si elles existaient avant, étaient inconnues. Le fait que ces pratiques soient mises en lumière, notamment par notre travail, ne peut que participer au changement. Néanmoins, même ce genre de différence par rapport à la norme est difficile aujourd’hui, car il n’existe pas de structure juridique qui les rend facilement accessibles.

Il y a des volontés de faire différemment, mais si elles ne sont pas accompagnées par la législation, il faudra plus de temps pour qu’elles prennent en amplitude. L’absence de cadre légal n’est pas un frein suffisant pour empêcher les humain·es de faire famille comme iels l’entendent. Alors, au bout d’un moment, il faudra bien reconnaitre que ces nouvelles familles existent et faire avec.

Cob House. Maison en torchis, Zad de NDDL. Hambinfo. 2016.
Cob House. Maison en torchis, Zad de NDDL. Hambinfo. 2016. Wikimedia. CC-By-Sa.

Le système capitaliste nous impose ses modèles et ses imaginaires. Selon vous, en quoi les expériences concrètes de résistances collectives, de préfiguration, en particulier les ZAD et plus généralement des projets de vie en commun, permettent de penser différemment notre rapport à l’amour ?

Margaux — Pour expliquer comment nous sommes arrivé·es à nous intéresser à la ZAD de Notre-Dame-Des-Landes et à la piraterie, je vais retracer rapidement notre chemin de pensée. Notre hypothèse de base était que réinventer l’amour par le biais de nos relations individuelles en changeant simplement de contrat (non-exclusivité, polyamour, etc.) ne fonctionne pas, parce qu’il faut s’attaquer aux structures sociales qui le définissent, donc in fine au capitalisme et au patriarcat.

À partir de là, nous avons cherché du côté des expériences et des luttes qui tentaient de construire des « contre-mondes », c’est à dire des bulles de résistance au capitalisme et qui, par leur existence, affaiblissent le système social et tentent de préfigurer une vie en dehors de lui. Nous supposions que, dans ces espaces, penser un rapport à l’autre différent serait envisageable.

MAIS, et c’est un grand mais, la réalité de ces luttes est plus ambigüe. Pour la piraterie comme pour la ZAD de Notre-Dame-Des-Landes, j’ai été marquée par l’importance du mythe, qui est constamment utilisé pour les raconter. Pour les pirates par exemple, il existe une multitude d’interprétations contradictoires de ce phénomène social. Si j’ai choisi la piraterie comme agent révolutionnaire, qui a permis pendant un temps éphémère de mettre en cause le développement du commerce maritime international, je sais que cela n’embrasse pas tout ce que cela a pu être. Sur la question précise du rapport à l’autre, la mythification des pirates empêche par exemple de penser la place des femmes au sein de ces contre-mondes, où d’interroger le rôle des pirates dans le commerce triangulaire qui a participé à la colonisation.

Pour la ZAD de Notre-Dame-Des-Landes, qui est devenue une référence de militantisme quasi-universelle (qu’elle soit plébiscitée ou décriée), c’est pareil. C’est un très bon exemple des dangers de la mythification d’une lutte sociale. Parce que quand on parle de la ZAD, on parle de quoi ? De la victoire contre l’aéroport ? De l’opération César ? Du collectif qui est resté habiter sur les terres en négociant avec l’État ? De la volonté de créer un nouveau rapport au vivant ? De ce que j’ai lu, il me semble que l’histoire de la ZAD est multiple, complexe, pas toujours reluisante, mais surtout que le récit de ce qu’a été une lutte est souvent écrit par les vainqueurs, aux dépens de celleux qui ont participé à une lutte et en ont été évincé·es. Donc de là à en faire une terre magique où l’on pourrait tous.tes s’aimer quel que soit notre genre, notre classe sociale ou notre couleur de peau… pour moi on en est loin.

Et cela rejoint peut-être une idée importante à mon sens :si sortir du capitalisme est indispensable pour mieux s’aimer, la lutte des classes seule n’entraînera pas la fin du patriarcat. Il nous faut lutter pour nos conditions matérielles d’existence pour survivre, tout en pensant nos relations en dehors du prisme hétérosexuel, hiérarchique et inégalitaire.

Timothé — C’est dur d’essayer de s’astreindre à l’objectivité. Il serait tellement plus simple de créer des mythes et de les encenser plutôt que de les écorner. D’une certaine façon cela nous rendrait plus forts, nous aurions un modèle, des plans et nous saurions où aller. Si nous proposons des imaginaires et des moyens alternatifs au capitalisme, nous reconnaissons aussi qu’aucun n’est parfait et adaptable partout. Finalement… tout ça pour rien ? Non pas vraiment, car retrouver de la diversité dans les modes de vie c’est nécessaire. Nous n’allons pas revenir à ceux du passé, car le monde à changé (physiquement) et tous ont présentés de gros red flags. Margaux parle des pirates et de la Zad. Moi, dans la partie sur les liens aux vivants, je parle d’une relation à la terre, à l’espace et aux non humains qui le peuplent en montrant que nous devrions retrouver un lien que nous avons perdu. Ce lien il a disparu, c’est comme ça, il ne faut pas vouloir le recréer à l’identique, car beaucoup des sociétés qui l’ont fait perdurer étaient bien plus patriarcales et nationalistes qu’aujourd’hui. Il faut le retisser avec les connaissances et l’état du monde actuel.

Pour ce qui est de la préfiguration, Il y a une interview qui m’avait mis des étoiles dans les yeux. Celle d’Alessandro Pignocchi, auteur avec Philippe Descola de Ethnographies des mondes à venir. Il dit qu’un modèle serait de créer partout des Zad vivantes en réseau. Sur le moment j’avais adoré l’idée, mais d’une part, il met sous le tapis les difficultés de Notre Dame des Landes et, d’autre part, il oublie que les Zads, si elles savent fabriquer des cabanes, ne savent pas fabriquer les outils pour fabriquer les cabanes (c’est une remarque de Frédéric Lordon). Tout cela pour dire que l’on ne lutte pas contre un système qui a tout uniformisé (le capitalisme) avec une autre façon d’uniformiser. C’est une des conclusions de nos réflexions :il n’y a pas de contre-modèle parfait, en revanche il y a plein de contre-modèles chouettes où piocher.

Imaginaire Tradwife
The Ladies’ home journal (1948). Wyeth, N. C.. Wikimedia.

Pour de nombreuses représentations, la famille est d’abord perçue comme un cadre social dédié aux soins, notamment pour les enfants, et à la transmission des valeurs, ce qui structure les relations de couple dans un référentiel figé voire traditionnel. La société de consommation a modifié ces dynamiques. Pour beaucoup qui ont du mal à l’accepter, il s’agit de revenir à une vision réactionnaire de la famille ou du couple. Or, à y regarder de plus près, la société de consommation n’a-t-elle pas plutôt amplifié des tendances comme le patriarcat, l’exclusivité, la hiérarchisation des émotions ?… En somme, justement des tendances réactionnaires.

Margaux — De mon côté, je me suis intéressée à l’irruption des notions de marché et d’économie dans la sphère amoureuse, notamment à travers l’ouvrage Pourquoi l’amour fait mal d’Eva Illouz. L’autrice soutient que dans une société de consommation néolibérale, le désir comme moteur de choix et l’utilitarisme comme modèle de décision traversent nos relations. C’est ce qu’elle appelle l’individualisme affectif, c’est-à-dire l’injonction à l’autonomie du sujet dans son épanouissement, qui grâce à sa rationalité est capable de faire les meilleurs choix sur le marché amoureux. Dès lors, l’individu ne tend plus à faire un choix satisfaisant, mais le meilleur pour ellui. Cela explique selon elle la difficulté plus grande à s’engager, comment être sûr.e que cette personne soit « la bonne » pour moi, alors qu’il reste encore d’autres partenaires désirables potentiels sur le marché ? Parallèlement, elle observe les effets de l’émancipation de la sexualité de la sphère de l’amour et du mariage. Cela a créé, à côté du marché des relations à long-terme, un marché de la sexualité sérielle où le capital social des individus augmente avec leurs expériences et le nombre de partenaires rencontré·es. Paradoxalement, avoir un capital sexuel élevé favorise également les individus dans le marché des relations à long-terme.

Or ce contrat est asymétrique :là où les hommes jouissent d’un plus grand accès au marché sexuel et amoureux, les femmes, plus contraintes par la temporalité biologique de leurs corps, si elles ont envie d’avoir un enfant, vont souvent voir cohabiter des stratégies de sexualité sérielle (comme attribut du pouvoir) et monogames (comme accès à la reproduction). Cela nourrit la domination affective des hommes sur les femmes, et une organisation de l’amour où la femme prend en charge le travail émotionnel pour permettre l’indépendance masculine, là où l’homme performe la masculinité par le détachement et un rejet de l’engagement.

C’est un résumé à grands traits, mais cela montre bien en effet comment la société de consommation et les effets du marché peuvent renforcer le patriarcat et les inégalités de genre au nom de l’amour.

Timothé — En effet la société de consommation s’entend très bien avec le patriarcat, tout comme elle pourrait probablement faire aussi sans. D’après mes recherches, elle a surtout dynamité des solidarités à l’échelle de petites communautés qui se sont dispatché pour chercher du travail et aussi parce qu’il y avait dedans un fort contrôle social. C’est bien que le contrôle social ai diminué, mais il est dommage d’avoir perdu les solidarités. Comme je l’ai dit précédemment, il ne faut pas vouloir revenir à quelque chose de passéiste, mais se rappeler que certains de ses bons aspects sont encore possibles.

Confrontation courte de deux concepts :hétérosexualité et capitalisme. C’est quoi le problème ?

Margaux — Bon, là il faudrait écrire une thèse, mais je vais essayer de résumer ce que j’ai compris de Frederico Zappino, qui a été une lecture très importante pour cet essai. Pour lui, l’hétérosexualité en tant que système de production du genre binaire (homme, femme) est un sous-bassement du capitalisme, qui se nourrit des inégalités patriarcales pour exister.

Frederico Zappino se base notamment sur la Pensée Straight de Monique Wittig, dans lequel elle avance que les catégories de sexe, féminin ou masculin, ainsi que la répartition des rôles et des valeurs qui leur sont assignés, sont produites par le système hétérosexuel pour justifier une relation inégale. C’est l’inégalité qui préexiste, pas la différence entre les sexes ou le genre binaire, qui sont construits après pour justifier la domination masculine. Le problème, c’est que l’hétérosexualité est obligatoire. C’est à dire que l’on se pense et on se construit à partir d’elle, à partir du genre binaire, à partir de notre appartenance ou pas à la norme hégémonique hétérosexuelle et cisgenre. Le capitalisme, lui, est un système économique, politique, idéologique basé sur l’exploitation des travailleur·euses par les détenteur·ices des moyens de production, pour générer une plus-value, réinvestie dans ce capital. Or le capitalisme se nourrit de l’inégalité hétérosexuelle fondamentale :l’économie productive ne pourrait exister sans une économie reproductive, du soin, sans la reproduction concrète opérée par la famille hétérosexuelle où les parents produisent une force de travail future. Si on va plus loin, les minorités de sexe et de genre (les femmes et les personnes trans) sont en première ligne quand nos conditions matérielles de survie se dégradent :potentielle dépendance à un·e conjoint·e ou enfants à charge, difficulté d’accès au marché du travail pour les personnes qui ne se conforment pas à la binarité de genre, plus grand risque d’isolement social…

Lutter contre le binarisme de genre, pour la subversion de l’hétérosexualité, c’est saper un des soubassements du capitalisme, ça fait donc partie de la lutte des classes ! Or la lutte pour les conditions matérielles d’existence et le féminisme sont trop peu pensés de concert aujourd’hui.

Pour conclure : l’avenir en commun pour vous, c’est quoi ?

Margaux — Une dystopie, mais une dystopie queer et féministe.

Timothé — Beaucoup d’inconnues, la sensation ambiante qu’il y aura des évènements important mais l’espoir que nous nous nous surprenions pour arriver quelque part de chouette.

Marche des fiertés, Rennes 2017
Marche des fiertés, Rennes, 2017. Missbutterflies. Wikimedia. CC-By-Sa.




Du libre dans les écoles belges avec NumEthic

Aujourd’hui, nous partons à la découverte de NumEthic, une association belge qui œuvre pour promouvoir le libre notamment dans les écoles.

Pour commencer, pouvez-vous nous présenter NumEthic ? 

NumEthic est une association qui a pour but de promouvoir et de créer un espace de réflexions et de pratiques autour du numérique dans l’éducation et en particulier dans l’enseignement. Pour cela nous organisons et donnons des ateliers, des animations et formations autour de ce sujet. Nous voulons également accompagner des écoles dans la réflexion et la mise en place d’outils informatiques libres.

Logo de NumEthic

Vous êtes une ASBL, pouvez-vous expliquer aux non-belges ce que cela signifie ?

C’est une Association Sans But Lucratif. C’est l’équivalent d’une association loi 1901 en France. Pour faire simple, s’il y a des bénéfices liés à nos activités, ils ne peuvent pas être distribués aux membres de l’association. Ils doivent être réinvestis dans l’association.

NumEthic, votre nom d’association est clair. Mais, vous mettez quel sens exactement derrière cette notion de « Numérique Éthique » ?

Parce que nous avons une démarche démocratique et parce que nous nous sommes mal coordonnés ;-), voici ici et là deux réponses intéressantes et qui se complètent.
Émilie : Nous le comprenons dans le sens décrit par Éric Sadin, à savoir que l’éthique à pour base de permettre « le respect inconditionnel de l’intégrité et de la dignité humaine ». Ainsi, pour être éthique, il faut permettre à toute personne d’exercer son jugement, de pouvoir décider en conscience et sans être pris dans un quelconque engrenage marchand.  Notre objectif est donc clairement de provoquer une démarche de questionnement par rapport aux usages que nous avons du numérique car aucune technologie n’est neutre comme le défendait Jacques Ellul, que du contraire. À nos yeux, un numérique éthique serait un numérique respectueux de l’intégrité intellectuelle, morale, psychique de tout un chacun ; un numérique sobre et responsable qui se soucie des questions environnementales, démocratiques, citoyennes, humaines…
Manu : C’est une bonne question. Nous ne pensons pas qu’il y a une réponse simple et définitive. D’abord, parce que notre société et le numérique sont complexes et en mutations constantes, s’arrêter à une réponse, ce serait l’oublier. Ensuite, même si nous partageons une culture relativement commune chaque situation, chaque relation entre une personne ou un groupe de personnes et un objet numérique est singulière. Les enjeux, les besoins et les désirs ne sont pas les mêmes. Notre volonté est de mettre à disposition toute une série de repères, de grilles de lecture pour que tout un chacun puisse déterminer, avec les valeurs qui sont les leurs, ce que devrait être un « numérique éthique » dans leur contexte particulier. D’ailleurs, nous ne voyons pas le logiciel libre comme une fin en soi. Pour nous, c’est non seulement un moyen d’émancipation, par la liberté qu’il procure aux utilisateurs, mais aussi une manière d’expliciter, de mettre en évidence qu’il y a un intérêt à penser la relation que nous avons avec les logiciels, qu’il y a des enjeux philosophiques, culturels, politiques et écologiques. C’est donc une super porte d’entrée pour y réfléchir.

Tout le monde n’a pas la même vision de l’éthique ;-)

Vos actions ciblent principalement le monde de l’éducation. Pourquoi ce choix ?

Émilie : Probablement parce que les fondateurs sont tous les deux des enseignants 😉 plus sérieusement, l’école est un espace d’apprentissage et de découverte. À l’heure où elle est désormais investie par les grandes multinationales de la tech pour répondre à la « transition numérique » de l’enseignement, c’est un devoir moral presque d’éveiller les élèves (et les adultes de l’équipe éducative) aux enjeux du numérique -tant sociétaux qu’écologiques- et de leur proposer un panel d’outils plus respectueux de leurs données personnelles. Cela rentre dans notre démarche d’éducation AU numérique, qui souhaite donner des clefs de compréhension de la culture numérique et de son impact sur l’organisation de notre société.
Manu : Tous les membres actifs travaillent d’une manière ou d’une autre dans les écoles que ce soit en tant qu’enseignant, en tant que technicien en informatique ou les deux. C’est donc quelque chose que nous connaissons, où nous avons de l’expérience et un petit réseau. Même si la voie est libre, la route est longue, autant commencer par un chemin que nous connaissons un peu ;-).

Quel accueil reçoivent vos interventions de la part des enseignants ?

Émilie : Certains sont curieux,  intéressés voire déjà convaincus. Cependant, pour la majorité, le numérique n’est pas un enjeu, seulement un outil : ils et elles préfèrent alors rester dans la simplicité des systèmes dominants bien connus. 
Manu : Ça dépend vraiment des personnes et du sujet. De manière générale, c’est difficile de ne pas faire le constat que le numérique est quasi omniprésent et qu’il transforme notre société en profondeur, d’où le besoin d’y réfléchir. Les enseignants sont assez sensibles à l’aspect « manipulation » des GAFAM vis-à-vis des jeunes, mais l’effort nécessaire à la mise en place d’actions ou dispositif pédagogique bloque la majorité d’entre eux. Il faut savoir qu’en Belgique francophone l’utilisation de Google ou Microsoft est encouragé dans pas mal d’écoles. Le système d’enseignement belge est composé de plusieurs « réseaux ». Certains sont clairement pro-GAFAM, d’autres pas.

Et de la part des inspections (je ne sais pas si cela fonctionne comme cela en Belgique) ?

Nous avons des inspecteurs, mais ils sont là pour vérifier le travail des enseignants. J’imagine que ce n’est pas la même fonction en France.

En France, récemment, nous avons eu la chance de voir l’émergence de apps.education au niveau d’une branche du ministère. Est-ce qu’au niveau belge, il y a une volonté ministérielle de mettre en avant le libre ?

Au niveau du ministère, la volonté est des plus molles pour mettre en place du libre. Il y a bien un accès à une plateforme Moodle offerte à toutes les écoles ou encore une utilisation assez importante de pix.org, mais c’est malheureusement tout. Par ailleurs, il y a un déni évident de nos politiciens vis-à-vis de la violation de la vie privée de la part des GAFAM. C’est donc difficile de faire bouger les lignes même si nous ne désespérons pas.

Arrivez-vous facilement à intervenir dans les écoles ?

Ce n’est pas évident. En tant qu’association, nous existons seulement depuis 2021. Pour le moment, c’est principalement par le bouche-à-oreilles que nous avons accès à des écoles, et donc par des gens qui nous font déjà confiance. 

Parmi vos objectifs présents sur votre site, vous indiquez vouloir « privilégier la diversité de des outils ». Ne craignez vous pas que pour certaines personnes, avoir trop d’outils différents ne soit pas un peu déstabilisant ?

Si une personne est seule face à tous ces outils, c’est sûr que ce sera déstabilisant. C’est pour ça que nous n’envisageons pas les outils comme des «individus» hors de tout contexte, mais comme faisant partie d’une dynamique sociale, d’une communauté sur laquelle les personnes pourront s’appuyer pour faire face à la complexité du monde numérique. Une communauté qui pourra orienter les nouveaux venus qu’ils pourront intégrer par la suite. Et par communauté, j’entends NumEthic, Framasoft, les GULL, ceux autour d’un logiciel spécifique, etc.

C’est vous qui démarchez les établissements ou ceux-ci vous contactent directement ?

Dans la grande majorité des cas, ce sont les établissements qui viennent vers nous. Le peu de démarchage que nous avons fait n’a pas donné beaucoup de résultats.

Quels sont vos souhaits, perspectives d’évolutions pour NumEthic ?

Notre premier souhait, c’est de faire plus d’ateliers, d’animations, d’accompagnements d’école et de faire grandir une communauté autour du projet de NumEthic. Pour cela, nous aimerions engager quelqu’un de manière permanente. Nous espérons également faire plus de lobbying au niveau institutionnel. Et surtout rencontrer plein de chouettes gens :-).

Et pour finir, une petit question trollesque : pourquoi choisir une licence non libre (CC-BY-NC-SA) pour la publication sur votre site qui promeut les logiciels libres ?

C’est une chouette question, parce qu’il met en évidence une certaine tension entre ce que nous défendons en premier lieu, un numérique éthique, et comment, en pratique, celui-ci prend forme avec les logiciels libres par exemple. Dans ce cas, c’est la clause non-commerciale (NC) qui pose problème. Une clause qui s’attarde sur l’aspect économique que nous ne voudrions surtout pas mettre de côté pour penser l’éthique du numérique. Nous ne voudrions d’ailleurs pas tomber dans une vision éthique « absolue », mais plutôt « politique », c’est-à-dire qui s’intéresse à ce que cela produit chez celles et ceux qui la pratique, l’émancipation par exemple.

Pour être honnête, nous n’avons pas discuté du choix de la licence. En Belgique, il y a beaucoup d’acteurs commerciaux, grands ou petits. J’imagine que la clause NC nous permet juste de résister à ce contexte et de nous démarquer en tant que petit acteur.

Troll par Thodor Kittelsen (un de premiers à avoir représenté des trolls)

 

Un grand merci à NumEthic d’avoir pris le temps de nous présenter leur association !




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-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 */

 

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-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 */

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-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 */

 

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-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 */

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-7 { margin: auto; } #gallery-7 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-7 img { border: 2px solid #cfcfcf; } #gallery-7 .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-8 { margin: auto; } #gallery-8 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-8 img { border: 2px solid #cfcfcf; } #gallery-8 .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 !