Devenir le bibliothécaire de son réseau – inventaire.io – Maxime Lathuilière

Interview de Maxime Lathuilière – inventaire.io

Walid : nouvel épisode de Projets Libres!.

On va parler aujourd’hui d’un outil que j’ai découvert il y a bien longtemps, en 2015. Je cherchais à l’époque une solution pour gérer ma bibliothèque de livres et un peu par hasard, j’étais tombé sur cet outil inventaire.io. J’ai regardé une conférence de mon invité aujourd’hui, Maxime Lathuilière, avait donnée dans un meetup chez Mozilla en 2015. Effectivement, ça remonte.

J’avais continué à suivre un peu de suivre le projet et j’ai repensé à lui parce que j’ai vu sur Mastodon une news comme quoi inventaire.io avait bénéficié d’un financement de la fondation NLNet. On va en parler tout à l’heure. Je me suis dit qu’il fallait absolument qu’on parle d’inventaire.io donc nous voilà donc je suis avec avec le fondateur d’inventaire.io.

Maxime, bienvenue sur le podcast.

Maxime : merci, salut.

Présentation de Maxime

Walid : alors la première chose c’est que je vais te demander de nous expliquer un peu qui tu es, comment tu as découvert le logiciel libre et qu’est-ce que ça veut dire pour toi de faire du logiciel libre?

Maxime : comme tu disais ça commence à remonter, maintenant ça fait peut-être 15 ans…

Je suis familier du libre et en fait moi j’étais… je pars de très loin. Donc entre 2008-2010, j’étais encore étudiant en école de commerce et j’étais très loin des questions du web, du logiciel libre, etc. Mais j’ai commencé à m’y intéresser parce que j’avais l’intuition qu’il y avait quelque chose à faire pour résoudre des problèmes environnementaux, sociaux, du côté de la gestion de l’information sur les ressources. C’est-à-dire qu’il me semblait, enfin j’ai commencé à broder une utopie numérique qui était que l’on va pouvoir organiser l’information sur les ressources avec des outils libres et du savoir libre et ça, ça va nous permettre d’avoir plus de contrôle en tant que citoyen sur les impacts de notre consommation. Donc j’étais très à l’époque dans une perspective de consomme-acteur, un peu de colibri. On va, par nos actions individuelles et nos choix de consommation, pouvoir résoudre des problèmes environnementaux et sociaux. J’ai un peu bougé depuis parce que je me suis rendu compte qu’il y a certaines impasses, mais c’est comme ça que j’ai mis le pied dedans. J’ai commencé à creuser ces questions-là, j’ai commencé à m’intéresser au web, et je suis tombé à l’époque sur des conférences qui m’ont marqué : donc vers 2010, je pense notamment à la conférence qu’avait donnée Benjamin Bayart à Sciences Po sur Qu’est-ce qu’internet ?

Maxime Lathuilière (source : wikimedia)

J’ai regardé beaucoup de conférences dans ce genre-là, qui étaient parfaites pour moi, puisque Sciences Po et école de commerce ont un peu les mêmes profils. On est des personnes qui ont un enseignement qui n’est pas très technique. Cette conférence en particulier m’avait marqué parce que ça te prend par la main et ça t’amène à penser un peu les protocoles, les enjeux politiques d’une architecture de l’information etc. Et donc ça m’avait mis un peu le pied à l’étrier là-dessus. Et donc j’avais commencé à aller voir plein de choses. J’étais allé voir ce que faisait Framasoft, Mozilla, Wikimedia. Et donc j’ai commencé à traîner de plus en plus dans ces milieux-là et à m’instruire comme ça quoi, petit à petit.

Walid : c’est marrant, j’aurais pensé que tu avais un passé technique.

Maxime : j’ai découvert ça… En fait, en école de commerce, moi je suis arrivé là-bas, si on creuse encore plus à l’archéologie, c’est comment je me suis retrouvé dans cette galère. J’étais au lycée et je m’intéressais à l’économie et la sociologie.

J’avais été passionné par l’introduction au SES, donc Sciences Économiques et sociales. Et en allant en bac S, on n’avait plus du tout ces cours-là. Et donc à l’époque, et peut-être un peu aussi pour me distinguer de mes frères et sœurs, j’étais parti sur un bac ES plutôt que sur un bac S, alors que maintenant il y aurait plein de choses en bac S qui m’intéresseraient. Mais donc je me suis retrouvé en bac ES, et après on m’a dit « le meilleur truc que tu peux faire, c’est prépa pour une école de commerce. Je pensais que j’allais pouvoir y aller en école de commerce et faire de l’entrisme, faire bouger les choses de l’intérieur comme on peut être naïf à 16 ans.

Et donc voilà je me suis retrouvé sur ce chemin-là et j’y ai cru pendant un peu de temps. J’ai commencé, je continuais à m’intéresser à des sujets notamment environnementaux. Et le logiciel libre nous a fait à ça. Je suis arrivé par le logiciel libre par son aspect politique. Et progressivement, c’est le logiciel libre qui m’a fait aussi quelque part me donner les outils d’émancipation technique. C’est-à-dire que toute la communauté, ils étaient peut-être encore plus forts à l’époque, te poussait au cul pour installer Linux plutôt que ton Windows. Et donc j’ai commencé à aller gratter un petit peu, voir comment je pouvais installer ça sur ma machine. Et donc progressivement, j’ai pu me rendre compte que finalement, le pas pour passer d’un profil pas technique à technique, en ayant après des connaissances, et après j’avais quand même certaines appétences techniques, je faisais du montage vidéo, je faisais déjà ce genre de bidouilles-là.

J’ai pu progressivement me rendre compte que ce n’était pas si infranchissable comme marche d’aller commencer à gratter notamment des technologies web, donc HTML, CSS, JavaScript, qui ont été pensées comme des technologies grand public. C’est un peu comme ça que j’ai trouvé mon chemin d’approche.

Le chemin qui mène à la création d’inventaire

Walid : est-ce que tu peux expliquer un peu le cheminement qui arrive à la création d’inventaires en fait ? D’où ça vient ?

Maxime : il faut repartir de mon utopie numérique de gérer l’information sur les ressources avec du logiciel libre et du savoir libre.

À partir de cette idée-là, j’étais parti dans des idées de « on va avoir des outils contrôlés par les citoyens en logiciels libres qui vont aller remplacer les interfaces d’Amazon, les interfaces de la FNAC, etc. dans l’organisation de l’information sur les ressources ». L’exemple que j’ai donné peut-être dans les conférences que tu as vues de l’époque, c’était quand tu fais, par exemple, si tu t’achètes un ordinateur sur le site de la FNAC, l’interface graphique est propriétaire et tu ne la contrôles pas, l’algorithme de recommandation est propriétaire et tu ne le contrôles pas, et les données d’eux-mêmes.

Et donc, t’es très limité en tant qu’acheteur dans ce que tu peux faire, jouer comme comparateur, comme outil de recommandation. Mais moi, j’avais envie d’aller, de sortir ces informations sur les ressources et ce choix d’interfaces propriétaires, et avoir le contrôle sur ces informations et pouvoir aller injecter là-dedans des données tierces, donc des UFC que choisir, ou sur les ordinateurs, il y a peut-être des groupes de consommateurs ou des groupes d’utilisateurs qui seront plus compétents pour juger du matériel, dans lesquels j’aurais plus confiance que la FNAC ou Amazon ou je ne sais pas. Et donc j’étais parti sur cette idée d’arriver à faire du logiciel libre en alternative à ces interfaces propriétaires. Et donc pour le coup, il me semblait que c’était intéressant que moi qui avait ce côté, ce que j’avais appris en école de commerce, ce que je connaissais du monde de la vente, du marketing, me permettait de faire une sorte de pont entre logiciel libre et accès à l’information sur les ressources.

En fait, le point le plus bloquant, c’est arriver à ce que les vendeurs partagent l’information sur ce qu’ils vendent dans un format standard réutilisable par des outils etc. Donc il faut avoir une communauté autour d’un outil qui va avoir un usage conséquent pour que les vendeurs soient intéressés pour mettre leurs données dans ce format standard. On en est encore très très loin. Mais donc c’était ce qui me motivait à l’époque quoi donc arriver à faire, j’avais envie d’arriver à faire un prototype de quelque chose qui allait dans cette direction, d’avoir un outil libre pour gérer de l’information sur les ressources. Et à ce moment-là, donc vers 2011, j’ai été en contact, j’ai commencé à passer du temps avec la communauté autour de la consommation collaborative qui était en pleine expansion à ce moment-là.

Donc c’était on va pouvoir… l’archétype, l’exemple qu’on donnait tout le temps c’était on va pouvoir se prêter des perceuses, on va pouvoir faire du covoiturage, etc. Et donc c’était des échanges en pair à pair de ressources, des prêts, etc. Donc moi j’ai été un peu happé là-dedans, parce qu’il y avait une dynamique, il y avait un groupe, notamment j’étais beaucoup du côté de Ouishare, où il y avait beaucoup de personnes qui s’intéressaient à ça. Et notamment il y avait dans Ouishare, il y avait un sous-groupe un peu de libristes radicalisés qui étaient le Ouishare Labs, ou avec des personnes plus portées sur le logiciel libre que sur la consommation en général, la consommation collaborative.

Il y a eu des idées d’expérimentation, de protocoles, de comment on fait pour informer son réseau des ressources qu’on a et de ce qu’on peut leur proposer, donc de leur prêter, de leur donner, etc. Dans ce bain d’idées qu’était le Ouishare Labs, a commencé à germer cette idée d’inventaire. À ce moment-là, je me suis dit… Même s’il y avait…

J’avais fait quelques années avant un début de projet qui s’appelait BookSurfing, qui était une sorte de première version, mais à ce moment-là, je n’étais absolument pas compétent techniquement pour réaliser cette idée. Mais j’ai continué à travailler l’idée et à partir de 2013 j’ai commencé à vraiment basculer dans une recherche d’apprentissage technique : à aller apprendre HTML, CSS, JavaScript, HTTP. Ce dont j’avais besoin pour développer ce projet. J’ai pu commencer la base de code d’inventaire en 2014 à la suite de toutes ces recherches.

Walid : 2014, ça fait 10 ans quoi…

Maxime : c’est ça, ça va être en juin de cette année, ça va être les 10 ans du premier commit sur le repo Inventaire, ce qui fait un peu peur.

Les débuts du projet

Walid : plusieurs questions là dessus, la première c’est est-ce que tu commences tout seul ou est-ce qu’il y a justement toutes ces personnes autour de toi de Ouishare Labs, mais le projet inventaire c’était vraiment moi qui le portais ?

Maxime : j’ai commencé le développement tout seul et ça a pris du temps après pour arriver à amener des personnes dans le projet. C’est encore d’ailleurs un sujet de comment faire pour qu’on soit plus nombreux à porter ce projet.

Mais donc en 2014 j’ai commencé seul et après il y a Jums qui m’a rejoint en 2016-2017, qui a commencé à s’intéresser au projet et qui a progressivement commencé à contribuer du code et qui est dans le projet depuis. Et donc on code tous les deux sur le projet depuis. Et après on a beaucoup de contributeurs qui viennent nous aider sur d’autres aspects, notamment la traduction. On a des traductions dans de nombreuses langues par des personnes que pour la plupart on ne connaît pas.

Tout l’aspect base de données bibliographiques, là pour le coup les contributeurs et contributrices sont innombrables parce qu’une des particularités du projet c’est qu’on construit une base de données qui enrichit Wikidata et donc qui va réutiliser des contributions de la communauté Wikidata. Et après on va avoir des contributeurs et des contributrices chez Inventaire qui vont enrichir les deux bases de données, Wikidata et Inventaire.

Mais au fond, inventaire, c’est quoi ?

Walid : et Inventaire étant une sorte de front. Est-ce que tu peux juste expliquer en deux mots ce qu’est Inventaire?

Maxime : inventaire, c’est deux projets à la fois. Il y a le projet qu’on présente au grand public. On propose à chacun de créer l’inventaire de ses livres et pour chaque livre d’indiquer si elle veut le donner, le prêter, le vendre et indiquer à qui ce livre sera visible. Donc ça peut être visible publiquement, des personnes pourront voir. Si on veut indiquer notre localisation, on pourra ensuite voir ce livre comme étant dans le coin. Mais on peut aussi restreindre la visibilité au groupe de son association ou juste à ses amis. Et voilà, donc ça c’est le premier pilier de l’outil. La première partie de l’outil, c’est cet outil de partage de livres.

Et pour permettre cet outil de partage de livres, il y a un deuxième pilier, une deuxième partie du projet qui est la base de données bibliographiques, qui est une extension de la base de données Wikidata et qui va essayer de rendre le plus facile possible le partage de livres en ayant la base de données la plus complète et la plus facile d’utilisation possible.

Le choix de la licence AGPL

Walid : j’avais deux questions pour toi là-dessus. La première c’est quelle licence tu as utilisé pour le projet inventaire et pourquoi tu as utilisé cette licence-là ? Et la deuxième question ensuite c’est quelles sont les technologies que tu as utilisées pour développer Inventaire ?

Maxime : alors sur la licence, ça a été une question difficile parce que les licences c’est des enjeux importants et moi j’avais des désirs de licences qui n’étaient pas nécessairement disponibles dans l’existant. Tout en m’intéressant au libre, je trouvais qu’il pouvait être problématique d’écrire du code qui serait réutilisé ensuite par… si on imagine que le projet inventaire était immensément populaire, peut-être que Amazon voudrait avoir sa propre instance d’inventaire. Et je trouvais ça ennuyeux que la licence autorise ce type de réutilisation. Je m’étais intéressé aux licences CopyFarLeft, Peer Public License, les licences éthiques anticapitalistes.

Il y avait des choses qui existent, mais c’est très peu utilisé par rapport à tout ce qui est CopyLeft, donc logiciel libre, licence GPL, AGPL. Ça rend le logiciel incompatible aussi avec toutes ces licences GPL et AGPL. J’ai fini par me satisfaire de la licence AGPL, qui est une adaptation de la GPL, donc la GNU Public License, qui est une licence virale, donc on ne peut pas refermer le code. Le code va rester ouvert, si on en fait des modifications conséquentes, il va falloir les reverser dans la base de code. Et AGPL ajoute à ça que c’est adapté aux services web en ligne, parce qu’il y a en fait la question de l’utilisateur du logiciel qui n’était pas traité au départ dans la licence originale GPL et qui est traité dans l’AGPL. Ça a l’air de marcher suffisamment pour que Google considère cette licence comme toxique et refuse d’utiliser tout logiciel sous licence AGPL. Donc ça a l’air de marcher. On continue avec ça et pour le moment il n’y a pas de raison d’en changer.

Les technologies utilisées

Walid : et les technologies que tu utilises ?

Maxime : les technologies qu’on utilise sont nombreuses. Je vous recommande le site stack.inventaire.io où on détaille assez finement toutes les technologies qu’on utilise.

Les plus importantes, c’est JavaScript côté serveur, donc avec Node.js et Express, et côté client. Alors historiquement, j’étais parti en 2014 avec ce que j’avais appris à ce moment là qui était Backbone et là depuis 2019 on a commencé à partir de backbone et on va vers Svelte et on arrive bientôt là on est à on doit être à 90-95 % de transition on va être bientôt à la fin complète de Backbone ce qui va mériter de célébrer, parce que on gagne quand même beaucoup en maintenabilité du code. Ça oui pour les aspects JavaScript. Ensuite côté serveur, on utilise une base de données CouchDB, donc c’est du NoSQL. On stocke du JSON directement dans la base de données.

Elasticsearch pour tout ce qui est recherche. LevelDB pour tout ce qui est mise en cache.

Les premiers financements d’inventaire

Walid : la seconde partie dont je voudrais qu’on parle c’est la partie financement. Ce que je comprends, c’est qu’en 2014 quand t’as commencé en gros, il n’y avait pas vraiment de modèle économique autour d’inventaire, comment ça a évolué en fait ? Comment est-ce que tu finances ou vous financez inventaire ?

Maxime : alors de 2014 à 2018 ça n’a pas été financé. J’ai eu la chance en fait en 2014 : j’ai participé avec Michael Fozeu à un concours qui était organisé par la Fing, où on nous demandait de faire un prototype d’une application qui fonctionnerait avec Cozy Cloud.

Walid : c’est quoi la Fing?

Maxime : c’est la Fondation Internet Nouvelle Génération.

Walid : d’accord.

Maxime : alors c’était, parce que je ne suis pas complètement sûr que ça existe encore. Ils organisaient ce concours-là et ils proposaient un prix pour proposer des applications qui utilisaient des données dans Cozy Cloud. C’est en faisant ce concours-là que j’ai adopté complètement la stack technique de Cozy Cloud qui était Backbone, CoffeeScript, CouchDB. Pour les besoins de ce concours-là, j’ai appris toutes ces technologies-là.

Puis ensuite, j’ai directement réutilisé dans l’inventaire et j’ai pu toucher 7000 euros de prix de la Fing pour le proto qu’on avait fait, en récompense pour ce prototype. Et ensuite, j’ai vécu de manière frugale avec ces 7000 euros, en vivant la moitié du temps chez mes parents, la moitié du temps dans des communautés à droite à gauche, notamment en Allemagne, où il y avait des approches très frugales sur la récupération alimentaire, récupérer les invendus, et être beaucoup dans le partage des ressources. Et donc j’ai pu vivre de manière frugale avec ce que j’avais gagné au concours.

J’ai touché un peu de RSA, parce que je n’ai jamais été employé, ça a été très court en 2013, mais depuis j’avais pas été employé donc j’avais pas le droit au chômage. Ensuite, j’ai pu avoir un financement pour les besoins d’inventaire. Je développais aussi des outils pour travailler avec Wikidata. Et donc j’ai pu avoir un financement de Wikimedia pour travailler sur certains de ces outils. J’ai pu avoir peut-être 8000 euros pour travailler pendant 6 mois sur ces outils.

Qu’est-ce que Wikidata ?

Walid : est-ce que tu peux rappeler, pour les gens qui ne sauraient pas, ce que c’est que Wikidata ?

Maxime : la manière un peu simpliste que j’ai de le présenter en général, c’est le Wikipédia des données. C’est-à-dire qu’on a un wiki, donc une base de données que chacun peut venir modifier, enrichir, et là où Wikipédia vous propose de modifier du texte et donc de partager de la connaissance par du texte. Wikidata va vous proposer de modifier des données structurées, c’est-à-dire qu’on va avoir un sujet qui va avoir une propriété et une valeur pour cette propriété. Par exemple, FOSDEM va pouvoir être un sujet, et on va pouvoir dire FOSDEM, nature de l’événement, événement, périodicité annuelle, site web, et on va pouvoir renvoyer vers le site web.

Donc ce n’est plus du texte, c’est du sujet, propriété, valeur. Et ça, ça permet pas mal de choses. Ça permet en premier lieu, donc Wikidata est en premier lieu au service des projets Wikimedia. Wikipédia, qu’on connaît bien, mais aussi Wikisource, Wiktionary, Wikimedia Commons et d’autres. Et donc Wikidata va permettre de rendre disponible de la donnée mutualisée pour ces différents Et donc le Wikipédia en vietnamien n’a pas besoin d’être mis à jour pour avoir la dernière valeur de le nombre d’habitants de Lyon parce qu’une personne va pouvoir venir sur Wikidata mettre la dernière valeur pour nombre d’habitants à Lyon et ça va pouvoir mettre automatiquement à jour la valeur sur tous les Wikipédia qui réutilisent les données Wikidata.

Donc ça c’est le premier but de Wikidata. Ensuite, il y a un objectif de réutilisation des données à l’extérieur également. Il y a des projets, notamment beaucoup dans la recherche. Il y a le collectif Wikicite, qui avait travaillé beaucoup là-dessus, sur la réutilisation des données Wikidata en recherche. Il y a le site Scholia, qui permet aussi d’accéder aux données dans Wikidata sur tout ce qui est les articles de recherche, les auteurs de ces articles, qui cite qui, etc. Donc il y a beaucoup de travail dans ce sens-là, et il y a des projets comme Inventaire qui vont pouvoir aller réutiliser une partie des données Wikidata qui les intéresse. Donc dans notre cas, c’est tout ce qui est sur les auteurs, leurs œuvres, les maisons d’édition, etc.

Le financement par Wikimedia

Walid : donc tu disais que tu avais un financement de 8000 euros de Wikimedia, c’est ça ?

Maxime : c’est ça, si je me rappelle bien. Ce financement, c’était pour améliorer des outils que j’avais déjà bien commencé à développer, notamment des outils en JavaScript, pour réutiliser les données Wikidata, les simplifier notamment, parce que le modèle de données Wikidata est un peu velu, un peu étoffé. Le premier besoin qu’on a quand on récupère les données Wikidata, c’est d’arriver à trier tout ce bruit pour avoir vraiment l’essentiel.

Puis peu à peu, on va voir un peu les détails parce qu’il y a une richesse du modèle de données qui est intéressante. Mais au début, on veut vraiment des données simples. J’ai créé un outil là-dessus qui s’appelle Wikidata SDK, qui est depuis devenu Wikibase SDK parce que Wikidata est une instance de Wikibase, de la même manière que Wikipédia est une instance de MediaWiki.

Donc il y a Wikibase SDK pour utiliser la donnée. Et aussi, pour les besoins d’inventaire au bout d’un moment on avait le besoin de pouvoir modifier les données Wikidata depuis l’inventaire. Par exemple pouvoir ajouter un auteur à une entité d’œuvre dans Wikidata et sans quitter l’inventaire pour que ce soit plus pratique. Et donc il y avait ce besoin de pouvoir le faire facilement et donc pareil j’ai développé Wikibase Edit qui permet de faire cette modificaton sur un Wikibase distant, en gérant les autorisations, etc. Parce que je suis, avec les années, devenu fan d’outils en ligne de commande, j’ai aussi écrit un outil qui s’appelle Wikibase CLI, CLI c’est pour Common Line Interface, et donc c’est un outil qui permet de lire et écrire Wikidata, et n’importe quel Wikibase, depuis la ligne de commande. Voilà, c’était les trois outils principaux pour lesquels j’ai été financé.

Walid : Ok, tu es financé pour l’intégration entre inventaire et Wikimédia ?

Maxime : ce financement c’était strictement pour les outils en eux-mêmes. C’est-à-dire que Wikimédia ne finançait pas inventaire.

Walid : je fais une aparté là-dessus, comment tu contactes les gens de Wikimédia en fait ? Comment ça se passe ? Tu vas les voir en leur disant voilà mon projet, voilà ce que j’essaie de faire et tout. Est-ce qu’il y avait déjà d’autres projets qui essayaient de faire aussi client de leurs données ?

Maxime : pour le coup, c’est une partie importante de la vie du projet Inventaire. C’est que dès 2015, j’ai essayé de me rapprocher de la communauté Wikimédia parce que je voyais que justement, il y avait des choses à faire ensemble, qu’on avait à travailler ensemble et il y avait des intérêts mutuels à travailler ensemble. J’ai eu l’immense chance, donc à ce moment-là, moi j’habitais à Lyon et le hackathon Wikimedia cette année-là, en 2015, était à Lyon. Alors que c’est un hackathon qui se passe chaque année dans une ville européenne différente. Et donc j’ai pu, en m’en rendant compte au dernier moment, aller les voir et aller discuter avec l’équipe Wikidata. Et donc j’ai pu commencer à partir de là à discuter, à échanger. Je suis revenu au hackathon suivant et on a pu échanger comme ça.

Et donc en 2018, je connaissais suffisamment de monde et je me sentais légitime pour envoyer une proposition. Et ensuite, cette proposition a eu un appel à un commentaire de la communauté pour savoir si cette proposition est intéressante pour Wikidata, pour Wikimedia. Et là, j’ai eu la chance d’avoir le soutien d’une grande partie de personnes que j’avais rencontré dans ces événements-là et qui connaissaient mon travail, qui avaient pu voir l’évolution d’inventaire et des outils et donc qui m’ont recommandé dans ce financement.

Walid : donc ça part d’une rencontre physique.

Maxime : pour beaucoup d’entre eux, oui.

Les autres financements

Walid : Ok, je referme cette parenthèse. Qu’est-ce que tu as eu ensuite comme financement ?

Maxime : en 2019-2020, avec Jums, on a travaillé, alors on a fait une prestation en fait. On n’était pas financé pour inventaire, mais on a fait une prestation pour la BNF et la ABES, qui voulaient expérimenter sur l’usage de Wikibase pour leurs besoins de bases de connaissances.

Walid : c’est quoi la ABES ?

Maxime : c’est l’Agence Bibliographique de l’Enseignement Supérieur.

Walid : d’accord, ok.

Maxime : c’est eux qui gèrent notamment le FIDOC, qui est une base de données bibliographique de l’Enseignement Supérieur, où tu vas retrouver toutes les informations sur… Notamment je crois que c’est eux qui font le site thèse.fr, donc il y a toutes les informations sur les thèses, les doctorats, etc. Et donc ils ont une initiative de mutualisation de données et ils voulaient expérimenter sur la possibilité d’utiliser Wikibase à cet usage. Et de la même manière j’avais rencontré une personne de la ABES qui m’avait invité à candidater pour cet appel d’offres et donc on a été choisi et on a pu avoir un financement pour une prestation. Quelque part c’est une prestation qui a fait qu’on ne travaillait pas sur inventaire à ce moment là, mais en même temps ça a pu nous financer, avoir des financements comme ça et pouvoir continuer à travailler sur inventaire. Et donc ça c’était en 2018-2019 et à partir de 2020, là on a eu une autre personne qui s’appelle Hellekin qui nous a recommandé de candidater pour les financements NGI, qui sont Next Generation Internet, donc c’était NGI Zero, qui est une sous-partie de NGI, qui vise à financer notamment du logiciel libre. Et à l’époque c’était NGI Zero Discovery, il y a plein de noms, on s’y perd un petit peu, Discovery c’était très porté sur tout ce qui était recherche, et notamment ils étaient très intéressés par tout ce qui pouvait être intégration ActivityPub.

Next Generation Internet (NGI0) et la fondation NLNet

Walid : on va en parler après, c’est un sujet pour les auditrices et auditeurs qui suivent un peu le podcast dont on a déjà parlé avec Peertube, on en a parlé aussi avec Castopod. C’est un sujet assez récurrent, les financements via NGI et la fondation NLnet. Donc finalement, tu as candidaté à un des appels, c’était via NLnet, c’est ça ?

Maxime : c’était via NLNet, oui.

Walid : C’est remplir un formulaire.

Maxime : c’est ça. Sur le site web d’NLnet, il y a régulièrement des appels à candidature. NLNet fait partie d’un consortium. Il y a plusieurs organisations dans ce consortium, dont petite singularité, dont fait partie Hellekin. Ce consortium va recommander à différents projets, il va faire connaître ce moyen de financement à la communauté du libre et donc ça a commencé à financer pas mal de projets donc comme tu le disais mais après c’est NLNet qui gère donc on candidate sur le site d’NLNet et c’est NLNet qui passe en revue les différents projets, choisit quels projets sont financés et ensuite on est en contact avec NLNet pour obtenir les différents… donc on signe un Memorandum of Understanding pour acter de notre accord sur ce qui va être financé.

Ensuite on fait les développements correspondants et on leur demande le paiement une fois que c’est fait.

Walid : donc en fait ces financements NLnet, qu’est ce que ça implique ? Qu’est ce qui change à partir du moment où vous commencez à avoir ces financements ? Et d’ailleurs vous en avez eu plusieurs aussi ? Qu’est ce qui change en fait pour vous ?

Maxime : ce qui change c’est qu’on a plus se salarier, ce qui fait une énorme différence. Aussi ça structure un petit peu le développement, c’est à dire que par rapport à…

Quand moi je commence le projet en 2014, je suis novice complet dans la gestion de projet technique. Donc j’ai appris en faisant le projet. Après, Jums a apporté de l’expérience. Il avait travaillé en développeur dans une organisation où il y avait déjà plus de professionnalisme. Donc il a pu apporter des choses de ce côté là. Mais après NLnet, ça nous a forcé à avoir une vision : un peu plus à anticiper sur quoi on allait travailler dans les prochains mois.

C’est à dire qu’idéalement, on veut pouvoir proposer des fonctionnalités sur lesquelles on demande un financement et que ça corresponde au travail qui effectivement fait sens à ce moment là. Ça nous a forcé un petit peu à réfléchir un peu plus en amont à ce qu’il fallait faire maintenant.

Walid : qu’est-ce qu’ils voient d’intéressant dans l’inventaire qui leur donne envie d’investir de l’argent dans Inventaire ?

Maxime : ce qui les intéresse dans Inventaire, c’est pas tant l’aspect partage de livres que le côté novateur de la manière dont on va réutiliser de la donnée, structurer de différentes bases de données, tout ça avec des licences libres sur les données et sur le logiciel, et comment on va construire cette base de connaissances au-dessus de Wikidata, en relation avec Wikidata.

C’est tout cet aspect-là, c’est tout le pilier données bibliographiques, données fédérées, qui les intéressent principalement, même si après ils sont aussi intéressés par le côté… Alors après c’est toujours intéressant, là je dis ça, c’est plus dans les retours qu’on a eu sur le troisième financement qui vient de commencer, mais selon l’interlocuteur qu’on a en face, à NLNet, il va y avoir un intérêt porté sur différentes choses. En tout cas, parfois, l’accent est mis sur différentes choses.

Mais donc oui, dernièrement, c’est plus sur cet aspect données fédérées.

Walid : donc en fait, en gros, à partir du moment où vous commencez à avoir les financements NLNet, donc il y en a plusieurs, ça vous permet à tous les deux, c’est ça, de vous salarier en fait, que ça devient votre activité finalement ?

Maxime : alors c’était déjà notre activité de fait, mais là au moins on pouvait être rémunéré. En 2019 on a créé l’association Inventaire qui compte deux membres, donc Jums et moi, et on a pu se salarier dans cette association dont les statuts sont disponibles sur le wiki d’Inventaire pour aller voir ça, et donc depuis on est salarié de l’association.

Walid : donc c’est intéressant de voir que finalement ces financements peuvent tout changer dans un projet.

Maxime : il est probable que si on n’avait pas eu ces financements, à un moment on n’aurait pas pu continuer le projet. Je venais passer déjà de nombreuses années en mode de vie frugale et il y a au bout d’un moment un épuisement à être un peu en mode nomade et à toujours un peu faire attention à ses dépenses. Et donc avoir la possibilité de vivre du projet sur lequel on travaille à plein temps, c’est quand même critique dans la survie du projet.

La communauté autour d’inventaire

Walid : point suivant, on a commencé à l’aborder un tout petit peu, c’est la communauté autour de inventaire.io. Qui est votre communauté ?

Maxime : alors au final, on a déjà pas mal vu différents aspects de cette communauté. Donc il y a tout un aspect autour de Wikimedia. Donc on a de nombreux utilisateurs de Wikidata, de Wikipédia, qui viennent trouver dans Inventaire les moyens de gérer leur bibliothèque tout en étant très proche de Wikipédia et de Wikidata. Parce que sur Inventaire, une fois qu’on voit son inventaire, on peut aller aussi explorer la base de données bibliographiques. Et partout dans la base de données bibliographiques, on va montrer des extraits de Wikipédia avec un lien vers la page Wikipédia correspondante, montrer des données Wikidata.

Et donc pour quelqu’un qui est contributeur ou contributrice de Wikipédia, de Wikidata, ça a un intérêt pour voir toutes ces données auxquelles ils ou elles contribuent. C’est assez apprécié dans la communauté, cet aspect. Une des manières dont Wikidata caractérise inventaire, c’est une visualisation de Wikidata. C’est-à-dire que de leur point de vue, il y a l’interface Wikidata qui est un peu austère, on voit des données très brutes, très minimalistes, et il y a différents visualisateurs et inventaires en est un.

Donc ça c’est une partie de la communauté, après il y a évidemment toute la communauté logiciel libre, où c’est peut-être le moment où ce qui m’avait fait chaud au cœur, c’est la dernière journée du logiciel libre à Lyon (LDLR : les JDLL). Il me semblait que c’était peut-être la salle au monde où il y avait la plus grande densité d’utilisateurs d’inventaire. Parce que moi, j’y ai passé pas mal de temps à Lyon. Et dans la communauté du logiciel libre, c’est là où il y avait le plus de personnes familières du projet. Ça m’avait beaucoup motivé à ce moment-là sur le projet, parce qu’on a des retours chaleureux, et notamment je suis très reconnaissant de Framasoft qui a soutenu le projet depuis longtemps, qui avait fait une interview, publié une interview en 2019 (NDLR : en fait c’est une erreur de Maxime, c’était en 2021 sur Framablog) qui nous avait ramené aussi pas mal de leur communauté, du logiciel libre français, francophone.

Et puis il y a un troisième aspect, mais finalement qu’on connaît peut-être moins bien, qui est tout le monde des amateurs de livres, des bibliothécaires, des professionnels de livres, qui retrouvent parfois…

Les bibliothécaires qu’on a rencontrés, qui nous disaient que ça permettait de continuer de travailler à la maison parce qu’elles continuent à être bibliothécaire. C’est un peu ce qu’on propose. On propose à chacun de devenir bibliothécaire de son réseau. Et donc voilà, les personnes qui aiment les livres peuvent trouver dans cet outil un moyen de vivre leur passion.

Walid : Qu’est-ce que tu en sais finalement de ta communauté d’utilisateurs, à part quand tu les rencontres physiquement dans une pièce ?

Maxime : alors on sait ce qu’on peut voir sur le site, c’est-à-dire que sur le site on peut voir, il y a une carte où on peut se balader et voir les groupes locaux, les utilisateurs qui ont des inventaires conséquents. Ce qu’on voit à travers ça, c’est beaucoup, donc peut-être les plus gros groupes collectifs d’utilisateurs, ça va être des groupes militants, des groupes qui veulent partager des connaissances sur un sujet précis, donc on a vu des groupes de développeurs, des groupes, des bibliothèques anarchistes qui vont faire leur inventaire parce que ces associations ont un local avec une bibliothèque mais n’ont pas nécessairement d’outils bibliothécaires et vont utiliser Inventaire comme outil bibliothécaire.

Walid : c’est ça que je cherchais au départ moi quand je suis tombé sur Inventaire.

Maxime : c’est le but initial du projet. C’était un peu l’idée que je me faisais c’était qu’on pourrait avoir des groupes par entreprises, coworking, associations, que chaque collectif pourrait avoir sa bibliothèque distribuée comme ça.

Walid : est-ce que les utilisateurs sont majoritairement francophones ou est-ce qu’ils sont répartis dans plein de pays différents ?

Maxime : je n’ai pas des statistiques très fines là-dessus, mais au doigt mouillé de ce qu’on voit sur la carte, l’air d’être pour moitié en France, 40 autres pourcents ailleurs en Europe et 10 pourcents ailleurs dans le monde.

Walid : et alors la dernière question que j’ai sur la partie communautaire, c’est qu’en tant que projet, inventaire, qu’est ce qui donne comme outil à sa communauté pour pouvoir interagir avec le projet ? Est-ce qu’il y a une forge ? Est-ce qu’il y a un forum, un canal de discussion ?

Maxime : Alors on a différents outils. Dans les premiers moyens de contact qu’on a, en général c’est soit par email, parce que le site propose un mail de contact, soit par les réseaux sociaux, notamment présents sur Mastodon, Fediverse. Et une fois qu’il y a ce premier contact, on invite les personnes à rejoindre notre chatroom. On a notamment sur Matrix Element un groupe de discussion où maintenant on a commencé à diviser par sujets données bibliographiques ou sujets techniques ou discussion générale. Donc on invite chacun et chacune à rejoindre les sujets qui l’intéressent là-dedans. Les conversations sont par défaut en anglais pour pouvoir inviter des personnes un peu plus largement que juste le monde francophone, même si parfois les discussions reviennent en français, si les personnes ne sont pas à l’aise en anglais.

On a par ailleurs un wiki dans lequel on va documenter le projet. On aimerait faire de plus en plus de tutoriels qui aident les nouveaux venus sur l’outil à se familiariser avec l’outil. On a lancé des ébauches, il y a encore beaucoup de boulot, donc là-dessus, s’il y a des personnes qui veulent contribuer, c’est très bienvenu à faire des fiches de tutoriel pour aider les personnes à venir adopter le projet.

Donc le outil est la forge. On a une forge git, donc on est encore sur le Github. Ce temps là aura une fin probablement. Là on regarde de près tout ce qui se fait sur les projets de forge fédérée avec ActivityPub. En fait on aurait envie d’être sur une forge libre. C’est toujours le problème de comment faire pour ne pas être coupé de contributrices, de contributeurs. Si on pouvait passer directement sur une forge fédérée, ce serait le top. Ça bouge beaucoup dans cet espace. Pour le moment on reste sur Github, mais on regarde de près ce qui se passe sur les autres forges libres.

Qu’est-ce que le Fediverse ?

Walid : point suivant, c’est un de mes points préférés, c’est le Fediverse. Donc on a déjà parlé dans d’autres épisodes, mais je reparle à chaque fois avec les projets qui s’intègrent avec le Fediverse. Il y a toute une partie d’inventaire autour de Fediverse et d’ActivityPub.

Mais d’abord, la première chose que je voudrais te demander, c’est quelle est ta définition du Fediverse ?

Maxime : A la question piège !

Walid : c’est pour ça que je le demande à tous les projets, en fait. C’est parce que c’est pour que chacun donne sa propre vision du truc.

Maxime : il y a plusieurs Fediverse, en fait. Je pense qu’il y a plusieurs périmètres possibles. La définition la plus large, c’est l’ensemble des réseaux sociaux fédérés, autour de protocoles de fédération. Aujourd’hui, on entend notamment parler d’ActivityPub, mais avant ActivityPub, il y avait déjà des Diaspora, des Frendi.ca. Il y avait déjà des choses qui existaient et qui se considèrent comme faisant partie du Fediverse, au minimum de son histoire. Parce qu’aujourd’hui c’est vrai, beaucoup de choses se passent autour d’ActivityPub. C’est peut-être la deuxième définition aujourd’hui du Fediverse, qui est tous ces outils, ces réseaux sociaux qui échangent avec le protocole ActivityPub.

Walid : alors ma deuxième question là-dessus, c’est quelle est la place d’inventaire dans le Fediverse ?

Maxime : c’est typiquement Mastodon, c’est de l’échange de micro-blogs, de l’échange de notes. D’un point de vue technique d’ActivityPub, c’est le logiciel qui publie des notes. Les serveurs se notifient les uns les autres des nouvelles notes disponibles et on a un flux d’informations, d’activités. Et donc pour cet usage-là, ActivityPub a l’air de marcher. Alors il y a des critiques à faire sur la viabilité à l’échelle de ce mode de fonctionnement, sur ce qu’on voit par exemple des instances qui, ayant un espace disque limité, sont obligées de supprimer des notes de l’historique après deux ans peut-être, suppriment ce qu’elles ont localement. Et donc ça veut dire qu’on ne peut plus accéder à des notes plus anciennes que deux ans, ce qui pose des problèmes d’un point de vue d’archiviste ou juste de personnes qui veulent avoir accès au contexte de ces anciennes notes.

Mais bon, globalement on arrive à recréer avec ActivityPub, avec Mastodon, une sorte de Twitter distribué. Ça marche pas trop mal, on a une base d’utilisateurs conséquente. Ça marche assez bien aussi avec poster des commentaires sur des vidéos, donc sur on voit Peertube ou je pense qu’il y a d’autres logiciels que je ne connais peut-être pas aussi bien. Il y a différentes choses comme ça qui viennent s’intégrer avec Mastodon et où les commentaires ont l’air de marcher. Mais dès qu’on va sur des usages qui sont moins dans le commentaire, il me semble que ça peut devenir compliqué.

Et notamment, inventaire de ce point de vue là est un peu bizarre. C’est-à-dire que quand on crée l’inventaire de ses livres, on peut voir ça comme un flux d’activité, mais le flux d’activité est moins intéressant que la base de données qui est constituée par cet inventaire. C’est à dire que avoir les derniers livres ajoutés à son inventaire c’est intéressant, comme actualité. Alors il y a deux questions auxquelles l’inventaire essaie de répondre. C’est :

  • je cherche tel livre qui l’a ?
  • quels livres sont disponibles dans nos réseaux, qu’est-ce que je pourrais emprunter si j’avais envie d’un livre ?

Et ces deux questions, d’un point de vue requête HTTP, enfin protocole, ce n’est pas nécessairement bien pratique de passer par ActivityPub pour faire ça.

Pourquoi ActivityPub n’est pas adapté pour un outil d’inventaire

Walid : c’est le cas à l’heure actuelle?

Maxime : non. Je vais vous dire pourquoi c’est compliqué. C’est que quand on cherche un livre en particulier, on veut interroger une base de données et qui dit « bon ben voilà, j’ai tel livre en base de données, enfin telle personne a tel livre et pourrait te le prêter. Et ça dans le modèle ActivityPub, ça nécessiterait d’avoir l’information que telle personne a tel livre. Donc ça nécessiterait d’avoir été là au moment où cette personne qui est peut-être sur une autre instance a publié l’activité qu’elle avait tel livre dans son inventaire. Et ça voudrait dire être capable de garder cette information sur un temps long parce que peut-être que dans 5 ans, cette personne aura encore ce livre dans son inventaire et je voudrais encore savoir où est-ce que je peux trouver ce livre, mais il faudra que l’activité puisse être encore disponible. Et en fait, il me semble que ce modèle d’ActivityPub où chaque serveur va copier localement la base de données qui va ensuite être interrogeable montre ses limites pour ce type d’usage. Et qu’on serait beaucoup plus… Il me semble que ça marcherait beaucoup mieux de garder les données de référence sur les instances et qu’au moment où je fais la requête pour savoir qui peut me prêter tel livre, mon serveur va demander aux autres serveurs qui a ce livre. Et donc ça voudrait dire que quelqu’un qui a son serveur inventaire sur son Raspberry Pi pourrait avoir juste ses données d’inventaire localement, mais ensuite aller interroger le serveur d’une bibliothèque qui a 50 000 références sans que ça nécessite d’avoir ses données localement. Et donc juste aller demander le bout de données qui nous intéresse. Donc voilà, il me semble que pour de l’interrogation de stock, ActivityPub n’est pas le protocole de fédération fini.

Les fonctionnalités d’ActivityPub implémentés dans inventaire

Walid : actuellement vous avez une implémentation quelconque d’ActivityPub ou pas du tout ?

Maxime : on a une implémentation d’ActivityPub qui vise à partager les activités des inventaires. C’est-à-dire, quand on a fait le choix de rendre son profil fédiversable, c’est un logisme qu’on a inventé, donc on peut aller dans ses paramètres et rendre son profil fédiversable. A partir de là, ça voudra dire que des personnes typiquement sur Mastodon ou ailleurs sur le Fediverse pourront venir suivre votre profil et recevront des activités quand vous ajouterez des livres à votre inventaire. Ça c’est un aspect. Et donc ça c’est le flux d’activités, ça permet de savoir les nouveautés dans les inventaires des personnes qui nous intéressent.

Walid : Il n’y a pas de notion de commentaire ?

Maxime : non, il n’y a pas de notion de commentaire. C’est un peu une implémentation minimaliste qui se concentre sur cet aspect flux d’activité. Il y a une deuxième implémentation d’ActivityPub qui est sur la base de connaissances et notamment ça permet de suivre non pas un utilisateur mais une entité. Donc on va pouvoir suivre un auteur, un éditeur, une œuvre, et quand il y a des modifications qui sont faites à la base de données bibliographiques, par exemple quand il y a une nouvelle édition qui sort chez un éditeur donné, et si on suit cet éditeur, on pourra voir dans son flux mastodonte qu’il y a une nouvelle édition qui a été ajoutée pour cet éditeur. Donc ça c’est très expérimental parce que il y a des usages qui peuvent être intéressants mais ce n’est pas toujours évident. Ce n’est pas nécessairement que l’édition vient de sortir, ça peut être juste que la donnée était manquante dans la base de données et quelqu’un y allait indiquer la donnée. Mais c’est une expérience qu’on voulait mener et pour laquelle on a eu des financements et net.

Walid : ça m’amène à ce que tu disais au tout départ et qui fait un écho à l’épisode avec les gens d’Open Food Facts avec toute la notion d’arriver à faire en sorte que les éditeurs mettent eux-mêmes leurs données dessus, puisque c’est eux-mêmes la source.

Maxime : mais pour ça, il faut qu’ils y trouvent un intérêt, il faut une taille critique. Oui, et puis ils sont globalement frileux. Alors nous, en plus, par rapport à Open Food Facts, je pense qu’Open Food Facts a à faire à des mastodontes, des géants de l’alimentaire. Donc c’est encore une autre catégorie. Nous, on a les maisons d’édition. Il y a des géants, mais il y a aussi beaucoup d’éditeurs indépendants.

On n’a pas encore de collaboration, mais je pense que ça pourrait être quelque chose qui pourrait être intéressant, notamment pour les petits éditeurs indépendants, qu’on les aide à structurer leurs données. Après, pour la plupart, le web n’est pas leur métier, et donc il peut y avoir une certaine appréhension, méconnaissance de la confiance qu’ils peuvent avoir dans un projet comme ça, et peut-être de l’utilité qu’il peut y avoir à être présent dans la base de données comme ça. En tout cas, nous, c’est un des objectifs qu’on se donne de soutenir les maisons d’édition indépendantes dans leur effort de proposer au lectorat des choses qui ne sont pas proposées chez, maintenant, des éditeurs qui sont tous concentrés chez Bolloré. Tous les moyens qu’on aurait de les soutenir, on est chaud, on est intéressé.

inventaire et bookwyrm

Walid : dernier sujet sur cette partie fait divers, j’ai un de mes copains qui m’a un jour parlé d’un outil, (salut Fabrice), qui s’appelle Bookwyrm. C’est rigolo parce qu’on en parlait tout à l’heure sur les licences anticapitalistes, il a une licence anticapitaliste. C’est un outil qui permet de faire des critiques de livres et la première fois que je l’ai vu j’étais là « mais c’est génial ce truc mais en fait il y aurait des choses à faire avec Inventaire ! » et donc en fait je voulais savoir est ce que vous aviez fait des choses avec Bookwyrm qui est donc aussi un autre service qui lui-même aussi fédéré si je dis pas de bêtises et donc voilà je me demandais si vous avez des relations avec les gens de Bookwyrm, si vous avez déjà fait des choses avec eux.

Maxime : on a eu des échanges notamment par différents contributeurs qui sont venus proposer des intégrations dans un sens et dans l’autre et il y a notamment dans l’existant aujourd’hui, il y a notamment un usage par Bookwyrm qui réutilise les données inventaires.

Walid : On dit « Bookworm » ?

Maxime : je crois que c’est « Bookwyrm ».

Walid : OK, je ne savais pas comment dire.

Maxime : Après, Bookworm utilise des données d’OpenLibrary et d’inventaire.

Donc ça, c’est une première intégration. Nous, on aimerait pouvoir afficher des critiques qui ont été écrites dans Bookwyrm. On aimerait pouvoir les afficher dans Inventaire. On n’y arrive pas pour le moment. Ça rejoint d’ailleurs ce problème que j’évoquais avant, c’est que typiquement, les requêtes qu’on voudrait être capable de faire, c’est « pour une œuvre donnée, donne-moi les critiques qui correspondent à cette œuvre ». Et on ne sait pas faire cette requête à Bookwyrm aujourd’hui.

Et donc, parce qu’on ne sait pas à quelle instance il faudrait l’interroger, il n’y a pas un moyen de faire une requête fédérée. Le seul moyen, encore une fois avec ActivityPub, c’est d’être à l’écoute des activités pour constituer la base de données localement. Donc en absence de ça, pour le moment, on n’est pas capable d’afficher ces critiques. On a un autre problème aussi sur la structure de données. Il faudrait pouvoir être capable d’aller interroger leur base de données par ISBN ou par identifiant Wikidata ou par identifiant OpenLibrary ou Inventaire.

Attention, open library ou inventaire, on va trouver un moyen de faire ces requêtes-là. Donc c’est un problème technique qu’on a. Et ensuite, il y a aussi la considération de, « est-ce qu’on veut avoir la possibilité de fédérer, d’écrire des critiques dans Inventaire et de pouvoir les partager ensuite avec Bookwyrm » ?

C’est un sujet récurrent et en fait, ça pourrait être intéressant, mais c’est vrai que les deux projets sont souvent comparés et ce n’est pas toujours évident pour les personnes qui arrivent sur ces sujets-là de voir les différences.

Nous, on est vraiment partis sur les objets physiques livres et sur la gestion de leurs prêts, de leurs dons, etc. Alors que Bookwyrm est vraiment parti sur une alternative à Goodread, parler des livres comme idées, parler des livres comme œuvres. Et quelque part, ces deux outils pourraient avoir des connexions, pourraient avoir des recoupements, mais ce n’est pas directement concurrent dans l’usage. On ne peut pas gérer un inventaire avec Bookwyrm, on ne peut pas gérer des prêts, faire des échanges etc. Et aujourd’hui on ne peut pas faire des… alors on peut mais c’est pas vraiment optimal pour faire des critiques aujourd’hui dans l’inventaire.

Walid : ok, je suivrai ça avec intérêt si ça bouge dans les années à venir, parce que ça me semblait effectivement qu’il y avait des belles synergies là-dessus.

Point d’étape après 10 ans du projet inventaire

Walid : dernière partie, c’est ce que j’appelle les défis à venir. En fait, je voulais savoir un peu, point d’étape, où est-ce que vous en êtes et un peu, quelles sont les choses qui vont arriver ? Déjà, un peu, où est-ce que vous en êtes ? Qu’est-ce que tu penses du projet après 10 ans ? Qu’est-ce qui est bien ? Qu’est-ce qui est pas bien ? Comment tu vois les choses ? C’est la première chose.

Maxime : c’est une question difficile parce qu’on est souvent le nez dans le guidon. Donc là, il faut relever un petit peu et voir un peu plus largement le projet. Il y a clairement des choses qui me motivent à continuer le projet. Il y a un intérêt soutenu par différentes personnes. On reçoit beaucoup de retours de personnes qui trouvent le projet génial. Et donc ça, ça a permis au projet de tenir pendant toutes ces années. Après clairement il n’y a pas eu le succès d’audience, le nombre d’utilisateurs n’est pas dément et donc ça pose la question de l’utilité du projet parfois. On se dit bon bah est-ce que ça vaut le coup de passer autant de temps sur un projet où il n’y a pas 500 000 utilisateurs quoi. Après nous c’est, et je pense Je pense notamment à Jums qui rappelle ça régulièrement, qui dit que s’il y a quelques utilisateurs, quelques groupes d’utilisateurs qui ont un usage, par exemple, dans des bibliothèques associatives, dans des collectifs, où ils vont pouvoir partager du savoir comme ça, en fait, ça nous suffit.

Ça justifie déjà le projet de pouvoir aider des collectifs à se partager la connaissance. Ça suffit comme motivation. Ça peut être compliqué parfois au quotidien, après 10 ans, de trouver la motivation pour un projet qui est encore relativement inconnu du grand public.

Walid : tu ne fais pas de présentation, par exemple, au FOSDEM ?

Maxime: j’en ai fait beaucoup dans les premières années du projet. Je me suis un petit peu épuisé.

J’allais tenir des stands, je me rappelle, en 2015, avoir tenu un stand en parallèle de la COP21. Non, c’était pas là. La COP à Paris, il y avait un festival, enfin il y avait des stands où il y avait des fêtes du Libre où j’allais tenir le stand toute la journée et faire une présentation, etc. Très enthousiaste.

Et en fait, ça prend une énergie folle de faire une journée comme ça. Et donc c’est vrai que là, en ce moment où je n’ai peut-être pas le niveau d’énergie que je pouvais avoir à ce moment-là. Je m’économise un petit peu plus. Au FOSDEM, j’y suis allé un petit peu plus pour picorer, pour discuter avec des personnes. Disponible pour discuter, mais je ne me sentais pas l’énergie d’aller faire une présentation, ce qui supposait en plus de bloquer des mois à l’avance. Ça peut être compliqué.

Et là-dessus, c’est vrai que c’est un des aspects, ça m’apparaît clairement qu’il y a un besoin de relais, il y a un besoin qu’il y ait des énergies nouvelles qui viennent se rejoindre le projet pour que des personnes aient encore l’envie d’aller voir tout le monde pour en parler, parce que peut-être que nous on fatigue au bout de dix ans.

Les defis d’inventaire

Walid : tu viens effectivement de répondre à une partie de ma question suivante, donc qui était les défis en fait, quels étaient les défis pour les mois, années à venir du projet ? Premier défi, avoir du sang neuf. Est-ce que tu vois d’autres défis, d’autres gros défis à venir ?

Maxime : alors il y a les défis, donc là on vient de signer un accord avec NLnet pour les développements sur l’année à venir.

Donc dans les défis à venir, il y a tout ce sur quoi on s’est mis d’accord et notamment il y a le site inventaire.io qui est l’instance principale et à ma connaissance l’unique instance parce que, notamment parce qu’on a plus ou moins découragé à créer d’autres instances en disant en l’état c’est pas nécessairement une bonne idée. Et la raison pour ça c’est que créer de nouvelles instances aujourd’hui c’est repartir d’une base de données bibliographiques vide. On a Wikidata qui est toujours disponible mais on ne réutilise pas tout le travail d’amélioration des données bibliographiques qui est fait sur inventaire.io. Et donc là, l’un des grands chantiers, ça va être de permettre à de nouvelles instances de se créer, tout en réutilisant les données d’inventaire.io.

Et donc, il est possible que les deux piliers du projet dont je te parlais en introduction soient plus nettement séparés à l’avenir. Et donc, qu’on ait un autre site qui soit dédié aux données bibliographiques et que la partie inventaire puisse être plus facilement décentralisée donc pour avoir plusieurs instances d’inventaire et donc de gestion de son inventaire de livres qui réutilise des données bibliographiques mutualisées.

C’est peut-être le plus gros challenge pour l’année et après on a beaucoup de challenges sur la manière dont on va pouvoir améliorer les interactions avec Wikidata, parce que c’était un défi un peu fou de se lancer dans un projet qui utilise une base de données contrôlée par un autre projet. Ça suppose de se mettre dans les choix de modèles de données de l’autre projet, etc. Et ça pose des difficultés pour lesquelles aujourd’hui on a un certain nombre de réponses. Le projet a eu le temps de mûrir là-dessus. Et parfois aussi des rustines. Et il y a des choses qu’on voudrait améliorer, et c’est aussi des grands chantiers où on va essayer de résoudre des problèmes qu’on a identifiés maintenant depuis un certain nombre d’années sur la manière dont on interagit avec Wikidata pour pouvoir améliorer la manière dont on réutilise les données, et aussi on va pouvoir partager plus de données avec Wikidata, notamment les données de design. C’est peut-être les deux plus gros challenges à venir pour le projet d’un point de vue technique.

Et après il y a ces défis techniques et on a, comme tu disais, il y a un défi organisationnel et de communication parce que c’est vraiment, je pense, ce qui pêche peut-être le plus aujourd’hui. Donc c’est notre difficulté à ramener des nouvelles personnes dans le projet. C’est-à-dire qu’on est très heureux de toutes les contributions qu’on a dans les données bibliographiques, dans les traductions, mais il y a encore très peu de personnes qui viennent aider sur du code. Et un de nos espoirs, c’est qu’avec la décentralisation, on va arriver à débloquer ça parce qu’on espère que des personnes pourront installer le logiciel inventaire et du coup voir comment elles pourront améliorer leur instance et donc venir contribuer. Donc ça, c’est un de nos espoirs sur l’aspect contribution au code. Et ensuite il y a tout un enjeu de communication, où on a bricolé des stickers, des flyers, mais c’est encore très petit, on en distribue peu, on en imprime très peu. Il y a tout un travail peut-être à faire là-dessus, de communication, et d’aller chercher les moyens de faire connaître ce projet, qui est maintenant, parce que pendant un certain nombre d’années, j’ai peut-être freiné en disant : non mais c’est pas prêt, c’est pas prêt. Je pense que maintenant on est à un niveau de maturité où on peut amener des personnes du grand public sur l’outil sans qu’elles se cassent les dents sur des bugs etc. Je pense que maintenant c’est peut-être le bon moment pour mettre un coup d’accélérateur sur la communication et le problème c’est que nous on est le nez dans la technique et donc on n’arrive pas à prendre ce temps pour faire la con.

Donc là aussi on a peut-être besoin d’aide, de nouvelles énergies et là-dessus.

Présenter inventaire à quelqu’un qui ne connait pas

Walid : on arrive à la fin de l’entretien, je voudrais passer à une petite conclusion et en conclusion je voudrais te demander deux questions. La première c’est comment est-ce que tu présenterais en une ou deux phrases inventaire à un utilisateur qui connaît pas ? Qu’est-ce que tu lui dirais ?

Maxime : alors ça va dépendre de l’utilisateur, j’adapte en général la présentation en public.

Walid : tu prends quelqu’un qui est en soirée, tu prends quelqu’un qui connaît pas, donc tu connais pas le passé technique, comment tu l’expliques en deux phrases ou trois phrases, qu’est-ce que fait Inventaire ?

Maxime : inventaire permet de faire l’inventaire de ces livres, donc pour chaque livre dire si on veut le prêter, le donner ou le vendre et choisir qui peut voir ensuite cette ressource. C’est une manière de présenter le projet. Et une autre manière de dire la même chose, c’est en fait que c’est un outil qui permet de construire des bibliothèques fédérées. On va arriver à ce que des collectifs puissent avoir une bibliothèque commune distribuée, et donc que chacun devienne le bibliothécaire du reste du réseau. On aide les collectifs à faire des bibliothèques distribuées. C’est une autre manière de voir le projet.

Présenter inventaire à un développeur de logiciel libre

Walid : deuxième question, comment est-ce que tu présenterais Inventaire à un développeur de logiciels libres ? Qu’est-ce que tu lui dirais en quelques phrases ?

Maxime : c’est un projet très riche de tout un tas de questions et que c’est passionnant parce qu’on va aller jongler sur tout un tas de briques techniques, sur des questions de données structurées, fédérées. On va faire du SPARQL, du HTTP, du ActivityPub. On a maintenant des questions de décentralisation, de comment on va faire pour arriver à publier du logiciel qui va pouvoir être réutilisé par différentes personnes.

Et donc avoir des questions de comment on fait pour rendre cette maintenance distribuée la plus facile possible. Et on va avoir toute la question de la fédération autrement que par ActivityPub. Donc pour répondre à toutes les questions que je posais sur comment on fait pour interroger différentes instances sur ce qu’elles ont en base de données. Donc on a des questions sur par quel protocole passer pour faire ces requêtes fédérées. Peut-être que ça peut être du DHT (distributed hash table), peut-être que ça peut être d’autres protocoles pair-à-pair. Il y a plein de défis techniques et après il y a toute la partie données bibliographiques où il y a la modélisation pour tous ceux qui sont fans de livres, de bandes dessinées, de mangas, il y a tout un tas de choses à faire sur comment on fait pour représenter la donnée.

Passez de la complexité du réel dans un modèle de données à peu près cohérent, vous intéresse ? il y a des choses à faire. Je pense par exemple à l’exemple de comment on fait pour représenter Dragon Ball Z, une série comme Dragon Ball Z, en données structurées. Est-ce qu’on représente par chapitres ? Est-ce qu’on représente par volumes ? Et dans ce cas là, dans quelle langue.

C’est un exemple peut-être trop traumatisant pour commencer. C’est pas un bon exemple pour commencer.

Walid : mais non, mais c’est très bien.

Maxime : il y a plein de choses intéressantes à aller gratter. Et moi c’est un projet que je trouve toujours très riche, notamment par tout ce que ça fait connaître comme livre. Je découvre tout le temps des livres, je découvre tout le temps des éditeurs, des sujets, c’est passionnant.

Conclusion

Walid : Maxime merci beaucoup d’avoir répondu à ma sollicitation en plus on a pu se croiser au FOSDEM donc on a pu discuter un peu cette année, c’était cool pour moi aussi pour préparer. Si ça vous a plu laissez moi des commentaires principalement sur Mastodon ça fait toujours plaisir avec grand plaisir. Maxime, merci. Bonne soirée à toi, porte-toi bien.

Et puis j’espère te revoir une prochaine fois sur le podcast pour reparler encore une fois davantage.

Maxime : et bien avec plaisir. Merci à tous les auditeur.e.s et rejoignez-nous dans le chat. On espère vous voir nombreux….

Cet épisode a été enregistré le 29 février 2024.

Licence 

Ce podcast est publié sous la double licence Art Libre 1.3 ou ultérieure – CC BY-SA 2.0 ou ultérieure. 

3 réflexions au sujet de “Devenir le bibliothécaire de son réseau – inventaire.io – Maxime Lathuilière”

  1. Mise en forme : Dans le paragraphe « Les débuts du projet » les propos de Maxime sont attribués à Walid
    33:39 Les personnes qui aiment les livres

    Répondre
  2. A propos de cet extrait:
    « Si on pouvait passer directement sur une forge fédérée, ce serait le top. Ça bouge beaucoup dans cet espace. Pour le moment on reste sur Github, mais on regarde de près ce qui se passe sur les autres forges libres. »

    Quelqu’un sait ce qui existe en terme de forge fédérée ?

    Répondre

Laisser un commentaire