Sommaire
- 1 Interview avec l’équipe de Castopod
- 2 Les sources de revenus de Castopod
- 3 La tarification de Castopod
- 4 La gouvernance de Castopod
- 5 La communauté de Castopod
- 6 Qu’est-ce que le Fediverse ?
- 7 Les défis de Castopod
- 8 Castopod pour un utilisateur de podcast
- 9 Castopod pour un créateur de contenu
- 10 Castopod pour un créateur de contenu qui se lance
- 11 Conclusion
- 12 L’intégration ActivityPub
- 13 L’adoption d’ActivityPub + Castopod Index
- 14 Evolutions d’ActivityPub pour le podcast
- 15 Open Podcast Prefix Project (OP3)
- 16 La mesure d’audience dans le podcast
- 17 Pour aller plus loin autour de Castopod
- 18 Licence
Interview avec l’équipe de Castopod
Walid : bienvenue pour ce second épisode consacré à Castopod. Je vous conseille très fortement d’écouter le premier épisode avant d’écouter celui-ci. Je suis très heureux de retrouver Yassine Doghri et Benjamin Bellamy pour continuer la discussion.
Longue discussion qui se finira après le générique de fin par un petit extra technique. C’est une nouveauté que l’on voulait tester. Voilà, bonne écoute!
Les sources de revenus de Castopod
Revenons un peu sur un sujet qu’on a abordé au tout départ. J’aimerais bien aimé comprendre comment vous financez tous les développements autour de Castopod ? Quelles sont toutes les sources de revenus que vous avez qui vous permettent de travailler tous les deux sur Castopod ?
Benjamin : on ne travaille pas au même niveau sur Castopod. Yassine disait qu’il est architecte et le contributeur principal. Moi, j’interviens maintenant assez rarement sur le code. Donc ça va être plus sur des questions de gouvernance, sur ce qui est du financement. Aujourd’hui, on a plusieurs sources de revenus : on a évoqué NLNet, qui nous a soutenus au départ et qui nous soutient encore aujourd’hui. En particulier, on a un projet de développement de moteur de plug-in qui est soutenu par NLNet.
On a également des donateurs sur Open Collective : on a une page Open Collective qui est très très peu utilisée parce qu’en fait on la met très peu en avant, on en parle très peu. Si tu ne m’avais pas posé la question des financements, j’aurais probablement oublié d’en parler d’ailleurs. En tout cas vous pouvez aller sur OpenCollective.com pour faire des dons si vous souhaitez apporter une contribution mais que vous savez pas comment.
Et puis on a une offre d’hébergement en mode SaaS, ce qui est ultra classique. On disait tout à l’heure qu’on s’était inspiré de WordPress, on s’est aussi inspiré de WordPress. C’est-à-dire qu’on a castepod.org où vous pouvez télécharger la solution et vous auto-héberger, et castepod.com où en quelques clics et 30 secondes, vous pouvez avoir votre instance à vous sur votre propre nom de domaine, qui est installé et qui fonctionne. Et vous n’avez pas à vous soucier des backups, des mises à jour, etc. On s’occupe de tout pour vous.
Et puis on a également les activités Ad Aures, qui peuvent être soit des activités de conseil, soit de publicité, soit de service. On n’en a pas beaucoup parlé, mais on travaille pas mal sur la transcription automatique, ce qui permet de faire de l’indexation. On a d’autres projets dont on ne va peut-être pas parler aujourd’hui parce que sinon on va faire un épisode de 5 heures. Et donc en fait, on a des sources de revenus qui sont assez multiples aujourd’hui.
La tarification de Castopod
Walid : il y a un truc que je trouve assez intéressant, c’est la tarification de vos offres SaaS, parce qu’en fait, quelque soit le plan, on a les mêmes fonctionnalités. Et ça, je trouve ça super parce que la plate-forme où j’étais, par exemple avant, c’était des fonctionnalités en moins. Tu veux ajouter un bouton Mastodon ? il te faut le plan supérieur, tu veux avoir telle statistique ? il te faut le plan supérieur, etc. Et en fait, c’est hyper frustrant, surtout quand tu veux faire un podcast, comme moi, et que tu ne veux pas en faire ta vie. Je trouvais bien que vous en disiez quelques mots, parce que j’ai trouvé ça vraiment, en tout cas pour moi, c’est super.
Benjamin : oui, ça c’était vraiment vraiment un choix fort qu’on a fait dès le début. Moi je ne voulais pas qu’on ait trois offres avec trois niveaux de fonctionnalités différents. Je ne voulais pas qu’on ait un Castopod Community et un Castopod Enterprise. Je ne voulais pas qu’on fasse du faux open source. C’est vraiment du vrai open source et du vrai logiciel libre. Si vous téléchargez la version de Castopod sur castopod.org, ou si vous payez un hébergement sur castopod.com, c’est le même logiciel. Ce qui va changer après, ça peut être des services annexes, ça peut être par exemple un niveau de CDN, ça peut être un espace de stockage mais on essaye en tout cas de faire des offres où tout le monde a les mêmes fonctionnalités.On ne veut pas que vous vous sentiez bridé ou en enquiquiné. Et après vous allez payer vraiment par rapport à ce que ça coûte. C’est à dire que si vous avez un podcast avec un épisode d’une heure par semaine, l’espace disque c’est presque rien. Ça coûte vraiment pas cher. Et donc notre offre de base, qui est à moins de 10 euros TTC par mois, elle va suffire. Si vous êtes une radio associative qui a 24 heures de direct, podcasté, tous les jours, ça va commencer à faire et forcément, à l’arrivée, ça va demander un espace disque qui n’a absolument rien à voir, qui va coûter plus cher. Et évidemment, il n’est pas question pour nous de facturer un montant inférieur à ce que ça coûte en frais d’hébergement et en particulier en frais de disques durs.
Donc nos offres derrière elles sont calibrées par rapport à ce que coûte une infrastructure technique, mais pas par rapport à ce qu’on estime que vous avez dans les poches ou par rapport à des fonctionnalités pour vous frustrer, vous dire non mais si t’en veux un peu plus va falloir payer un peu plus. C’est vraiment l’idée : du coup l’offre est illimitée en nombre de podcasts, parce que pour nous que j’ai un podcast à dix épisodes ou dix podcasts à un épisode c’est exactement la même chose : ça prend pas plus de place, ça coûte pas plus cher. Donc il n’y a pas de raison de vous faire payer dix fois plus alors que vous avez la même quantité de données, la même durée. Aujourd’hui si vous allez sur castopod.com, si vous avez un podcast, si vous en avez 2, 4, 5, 10, 20, ça va vous coûter la même chose. Donc l’idée c’est vraiment de payer par rapport à ce que ça coûte in fine. Ce qui est un peu déroutant parce qu’en particulier sur le marché français, qui est un marché qui est encore en croissance, ce qui est assez différent du marché américain qui est un peu plus stable : on a beaucoup d’offres illimitées par podcast, c’est à dire vous pouvez mettre autant d’épisodes que vous voulez, de la durée que vous voulez. Nous on n’a pas ça, parce qu’il y a une limite d’espace de stockage, parce que l’espace de stockage forcément quelqu’un le paye à l’arrivée. Donc on est un peu à contre-courant des offres francophones et un peu plus dans l’ordre de ce qui se fait à Outre-Atlantique où les gros hébergeurs aux États-Unis sont plus dans une logique de dire que vous allez payer à l’heure ou à la minute. Nous on n’en est pas là, on ne fait pas payer à l’heure ou à la minute, déjà parce qu’en fonction de la qualité, c’est pas pareil du tout et on ne veut pas léser quelqu’un qui encode son podcast avec un fort taux de compression. Peut-être que ça va être amené à évoluer, peut-être qu’on va faire les choses différemment. En tout cas, l’idée, ça sera toujours la même, c’est ne de pas payer par rapport à une taxe, par rapport à ce qu’on pense que vous avez dans les poches ou par rapport à des fonctionnalités, c’est par rapport à ce que ça coûte. Il ne peut pas y avoir de surprise en fait.
Walid : je trouve ça vraiment intéressant parce que ça met tout le monde sur le même piédestal. Celui qui sait qu’il va en faire sa vie et celui qui sait qu’il veut faire ça à côté et qui, comme moi, ça lui coûte de l’argent de faire ça et ça lui en rapporte pas. Ça c’est vraiment bien et moi l’exemple vraiment c’est les statistiques. J’étais tellement frustré de ne pas avoir des stats qui m’intéressaient qu’il fallait que je paye plus encore.
Benjamin : ça c’est encore autre chose, c’est-à-dire que nous on estime que en tant que créatrice et créateur de contenu, vos données vous appartiennent à vous, votre audience vous appartient à vous et sûrement pas à nous et sûrement pas à quelqu’un d’autre. C’est pour ça qu’on encourage tous nos clients à venir avec leur propre nom de domaine, parce que si demain vous voulez partir et bien vous avez rien à nous demander, vous partez avec votre base de données complète. C’est à dire que vous partez pas juste avec vos fichiers mp3 et vos métadonnées, vous partez aussi avec vos données utilisateurs, vous pouvez partir avec le login, le mot de passe, avec les données d’écoute, les analytics et vous pouvez télécharger castopod.org, télécharger la plateforme, vous auto-hébergez ou allez chez un autre hébergeur qui propose la solution Castopod. Je crois qu’aujourd’hui, il y en a à peu près 5 en Europe. Et vous remontez votre base de données et vous êtes iso-fonctionnel, mais vraiment iso-fonctionnel. Vous avez l’intégralité des fonctionnalités, vous avez vos comptes utilisateurs, vous avez les interactions avec vos utilisateurs.
On a parlé d’ActivityPub, mais donc tous les gens qui ont liké, qui ont commenté, vous récupérez 100% des commentaires et des interactions de vos utilisateurs, 100% de vos données analytics, pas juste un export CSV où vous récupérez vos données. Vos données, elles sont à vous. Si vous les voulez, on vous les donne et vous en faites ce que vous voulez. La réversibilité sur Castopod, du fait que c’est un logiciel open source aussi, elle est vraiment totale.
Ce n’est pas un argumentaire commercial, c’est une réalité technique. La réversibilité, elle est totale.
La gouvernance de Castopod
Walid : point suivant, je voudrais qu’on parle de la gouvernance du projet Castopod.
Donc ce que j’aimerais comprendre, c’est comment est-ce que le projet est organisé ? Quels outils vous utilisez pour développer l’outil et pour interagir avec votre communauté ? On va parler de la communauté juste après, mais dans un premier temps, quel est le mode de gouvernance ? Comment vous fonctionnez ?
Benjamin : alors je peux répondre. Comme pour tout projet open source, on a un dépôt Git.
Enfin, pour beaucoup de projets open source, en tout cas, on a un dépôt Git. On a notre propre GitLab qu’on auto-héberge et on a un miroir sur GitHub pour la visibilité, pour les étoiles. D’ailleurs, n’hésitez pas à aller sur github.com pour nous mettre plein d’étoiles ! Voilà. On accueille des contributions à plusieurs niveaux, que ce soit des tickets sur GitLab pour des bugs ou des nouvelles fonctionnalités. On définit des priorités grâce à ça d’ailleurs, les tickets, c’est-à-dire qu’en fonction de ce qui retourne, si on a des demandes particulières d’une fonctionnalité ou d’une autre, on va la remonter dans nos priorités. Ensuite, on discute entre nous sur ce qu’on devrait faire et ce qu’il y a à faire pour les prochains mois, etc. C’est à peu près tout. Les contributions nous aident bien à prioriser les…
Walid : t’as oublié le canal Discord.
Yassine : oui, c’est vrai. On a aussi un canal Discord, enfin un serveur Discord pour tout ce qui est discussion instantanée. J’y traîne pas mal moi pour aider les utilisateurs à soit installer Castapod s’il y a un petit souci ou alors s’ils veulent faire un retour pour clarifier certaines choses sur Castopod. Et on a pas mal d’autres utilisateurs aussi qui nous aident à gérer cette partie-là. Ce qu’il faut savoir c’est que Discord est pas mal utilisé au sein des podcasters.
Benjamin : moi personnellement j’y suis très très peu, je suis beaucoup trop vieux pour Discord et puis je suis pas un grand fan de la plateforme. Mais en fait il faut qu’on soit là où sont nos utilisateurs, il n’y a pas de secret et donc le canal Discord est très très actif.
La communauté de Castopod
Walid : on vient d’expliquer un peu la manière dont vous interagissez avec votre communauté, moi ce que j’aimerais savoir c’est qu’est ce que vous connaissez de votre communauté en fait ? Est-ce que vous savez majoritairement d’où viennent les gens ? Est-ce qu’ils auto hébergent ou est-ce qu’ils prennent du SaaS ? Est-ce que vous savez un peu quelles sont les fonctionnalités qu’ils préfèrent, etc. Qu’est-ce que vous savez en fait de votre communauté ?
Benjamin : ce qui est très intéressant, c’est que potentiellement, on pourrait ne rien savoir de notre communauté. On l’a dit, Castopod est open source, mais il n’y a pas de télémétrie, il n’y a pas de tracker. Et on peut installer Castopod sans nous le dire. Et ça arrive très souvent.
On sait qu’il y a des gens qui utilisent Castopod et qu’on ne connaît pas et qu’on connaîtra probablement jamais. En plus on peut avoir des podcasts privés avec Castopod, on peut avoir Castopod sur un intranet.
Benjamin Bellamy
Enfin, il est sûr qu’on ne connaît pas tous nos utilisateurs. Maintenant il y a des moyens de savoir. Nous on a évidemment envie de le savoir, déjà parce que ça nous fait plaisir. Ça nous fait plaisir de savoir que des gens l’utilisent parce que si personne l’utilise ou si on ne sait pas que des gens l’utilisent, il y a un moment où on risquerait d’arrêter. Et puis, il y a des moyens de savoir : on en a déjà parlé, il y a Podcast Index qu’on a évoqué. Et dans Podcast Index, il y a une colonne qui est Generator, qui dit quelle est la plateforme qui a généré le fameux flux RSS.
Et donc aujourd’hui, on va voir dedans et puis on voit que régulièrement qu’il y a des nouveaux podcasts sur Castopod, majoritairement aux États-Unis, mais il y en a un peu partout en fait. Il y en a un peu partout dans le monde, déjà parce que Castopod est traduit en une vingtaine de langues, et que nous on développe en anglais, on traduit en français : donc ce dont les deux seules langues qu’on produit, toutes les autres sont produites par la communauté. Donc à partir du moment où Castopod est traduit dans une langue, c’est que quelqu’un en avait besoin, et il y en a vraiment plein plein, il y a du breton. La Bretagne est en force, on a beaucoup de contributions, y compris dans le code source d’ailleurs, qui viennent de Bretagne. Il y a du galicien, il y a du serbe aujourd’hui. Ça c’est un pote avec qui j’ai bossé, qui est très actif, qui s’est chargé de faire la traduction serbe. Donc aujourd’hui la traduction serbe elle est plus aboutie que la traduction française.
Il y a du chinois aussi. On sait, on a des éléments comme on l’a dans tout projet open source. On regarde un peu ce qui sort.
Très récemment, on a lancé une plateforme qui s’appelle Castopod Index sur index.castopod.org. Elle fait suite à une demande qu’on avait depuis un moment. J’avais dû voir passer sur Mastodon un message que je n’ai jamais retrouvé d’ailleurs, de quelqu’un qui disait « mais moi, je suis sur Mastodon, c’est super. Je voudrais suivre des podcasts de Castopod sur Mastodon, mais où est-ce que je les trouve ? » Et donc l’idée c’était de dire, on va faire, au moins, la liste des pseudonymes Mastodon, enfin ActivityPub, de tous les podcasts Castopod, et donc ça a donné lieu à ce site index.castopod.org, qui liste des podcasts sous Castopod que je vais pouvoir suivre depuis mon compte sur le Fediverse, donc en particulier Mastodon. Et je vais pouvoir repartager, commenter, liker des épisodes. Et en faisant ce site, on a appris des choses, on a découvert
des choses : on a découvert des podcasts qui n’étaient pas dans notre radar. On était très content de découvrir certaines choses, moins content sur d’autres. Il y en a certains qui nous ont surpris. En même temps, c’est aussi ce qui fait la force d’un logiciel open source, c’est que tout le monde peut se l’approprier.
Aujourd’hui, on est très content, on a une communauté qui est assez fidèle, qui est assez active, qu’on aimerait bien voir grandir, bien entendu. On aimerait bien qu’il y en ait beaucoup plus. En tout cas, aujourd’hui, on est assez content.
Et donc, il y a des podcasts qu’on héberge nous-mêmes, il y a des podcasts auto-hébergés, il y a des podcasts qui sont hébergés par des tiers. Il y a un peu de tout. J’aurais du mal à donner des chiffres et à faire des stats, parce qu’aujourd’hui, on n’a pas étudié en profondeur et encore une fois il y a des choses qu’on ne peut pas savoir. En tout cas c’est majoritairement aujourd’hui des gens qui sont auto-hébergés.
Benjamin Bellamy
Qu’est-ce que le Fediverse ?
Walid : très intéressant, on va embrayer, parce que tu as commencé à parler de Mastodon, sur une des parties pour lesquelles je voulais vraiment être sur sur Castopod, c’est toute l’intégration avec le Fediverse. Et la première question que je voudrais vous poser c’est comment est-ce que vous définissez le Fediverse ?
Benjamin : le Fediverse, ça peut paraître super compliqué, en fait c’est super simple. Le Fediverse, c’est un ensemble de réseaux sociaux qui sont connectés entre eux. Pour prendre une analogie, c’est comme si demain sur Twitter, vous pouviez voir des posts qui viennent d’Instagram, vous pouviez les liker, vous pouviez les repartager, vous pouviez répondre en restant sur votre compte Twitter et que ces partages, ces likes, ces commentaires étaient visibles depuis Instagram. Mais vous pouviez également voir des posts qui viennent de SoundCloud, qui viennent de YouTube, qui viennent de n’importe quel réseau social, et que vous pouviez interagir avec des gens qui sont sur un autre réseau social de manière tout à fait transparente.
En fait, derrière le Fediverse et ActivityPub qui est le protocole emblématique du Fediverse, on se cache la notion la plus importante à nos yeux qui est l’interopérabilité. C’est-à-dire que ce sont des réseaux sociaux qui sont interopérables entre eux, qui sont connectés entre eux, et c’est ce qui fait que vous pouvez passer d’une plateforme à l’autre en vous pouvant échanger, interagir avec des gens qui ne sont pas sur la même plateforme que vous.
Et vous n’êtes pas prisonnier d’une plateforme, c’est à dire que ce qui est dans une plateforme du Fediverse peut en sortir et d’autres choses qui sont à l’extérieur peuvent y rentrer. Concrètement, là j’ai pris une analogie avec des réseaux sociaux qui ont la particularité d’être des silos fermés, donc rien ne rentre, rien ne sort. Sur le Fediverse, on va avoir plusieurs réseaux sociaux, le plus connu, celui qui a eu le plus de succès jusqu’à aujourd’hui c’est Mastodon. Mastodon c’est une plate-forme de micro blogging, où les messages sont limités à 400 caractères, mais c’est pas la seule, il y en a plein d’autres. Il y a par exemple PixelFed, qui est un Instagram like qui permet de partager des photos. Et donc si je partage ma photo sur PixelFed, quelqu’un sur Mastodon pourra la voir, pourra s’abonner à mon compte, pourra la liker, la commenter, la partager. Et moi, depuis mon compte PixelFed sur mon site PixelFed, je vais voir ces interactions et je vais pouvoir y répondre. Donc en fait, l’interaction est totale : il y a PixelFed pour les photos, il y a PeerTube qui a été développé par Framasoft.
Walid : on en parle longuement dans l’épisode avec eux, on a passé une heure et demie à parler, dont la partie intégration Fediverse. Ce qui finalement, comme vous, date du début de la création de PeerTube.
Benjamin : oui, nous c’était même un prérequis en fait. On voulait dès le départ faire du podcast sur le Fediverse.
Walid : ça m’amène à la question suivante, je te coupe là, c’est quelle est la place de Castopod dans le Fediverse ?
Benjamin : en fait pour nous le Fediverse c’est vraiment super important parce que encore une fois on pense que la valeur elle est créée par les créatrices et les créateurs de contenu, et que cette valeur, elle a deux formes. Elle a le contenu et l’audience.
Et donc, votre contenu, il faut que vous en soyez totalement maître. Et pour ça, une plateforme open source permet de s’auto-héberger et de garantir que mes contenus sont chez moi. En tout cas, je peux récupérer tous mes contenus, en faire ce que je veux, j’en reste maître, quel que soit l’hébergeur que je vais choisir, je reste maître de mes contenus. Et pour ce qui est de l’audience, il faut que je puisse interagir avec mon audience sans intermédiaire, que cet intermédiaire soit technique et ou légal. C’est-à-dire que je n’ai pas un intermédiaire qui va techniquement pouvoir couper la communication entre mon audience et moi, et qui n’est pas un intermédiaire qui soit obligé de le faire par la loi. Aujourd’hui, le problème des silos fermés, c’est que ces plateformes ont tout pouvoir technique et que comme ils sont tenus par la loi d’agir et de censurer des propos qui contreviendraient à la loi, et bien ils le font de manière préventive et de manière automatique parce que comme c’est des silos fermés, ils sont énormes. Parfois il y a des plateformes qui ont des milliards d’utilisateurs, donc on imagine bien que sur une plateforme avec des milliards d’utilisateurs, chaque post ne peut pas être modéré par un être humain, ce n’est pas possible. Forcément ce sont des algorithmes, forcément ça donne lieu à des dérives.
L’intérêt d’un système décentralisé, fédéré, comme le Fediverse, c’est que je peux avoir plusieurs instances, c’est-à-dire que je n’ai pas un serveur Mastodon, on disait qu’il y a Mastodon, PixelFed, Peertube, Funkwhale, Plume, Castopod, il y en a plein…
Benjamin Bellamy
Mais que pour chacun de ces réseaux sociaux, j’ai plusieurs instances qui vont avoir une implantation géographique, qui vont avoir peut-être une thématique, une langue, et où je vais pouvoir opérer à une modération en tant qu’administrateur de cette plateforme. Alors soit je suis mon propre administrateur parce que je m’auto-héberge, et c’est un choix que beaucoup font, soit je vais par exemple sur Framapiaf. Vous parliez de Framasoft, Framasoft a une instance Mastodon qui s’appelle Framapiaf, et si je vais m’inscrire sur cette plateforme, je dois suivre les conditions générales d’utilisation qui me sont soumises. Mais je ne suis pas sur Facebook, je ne suis pas sur Twitter. Le nombre d’utilisateurs est beaucoup plus limité. Il y a un changement d’échelle qui est excessivement important parce que c’est lui qui fait que sur ces réseaux-là, aujourd’hui, je n’ai pas de modération automatique a priori. Je n’ai pas de strike automatique parce que j’ai fait un truc qui paraît bizarre alors qu’en fait il n’était pas du tout. Donc c’est beaucoup plus petit, mais comme ces réseaux sont fédérés, ils sont tous connectés entre eux, ce n’est pas parce qu’ils sont plus petits que mon audience va être forcément plus petite aussi. Parce que j’ai quand même accès à une audience mondiale, et elle est même plus grande puisqu’elle traverse des réseaux sociaux qui n’ont rien à voir.
Walid : est-ce que vous pouvez me donner un exemple concret entre moi, podcaster, avec ma plateforme Castopod et des interactions qui peuvent se passer avec des gens qui sont sur d’autres plateformes, Mastodon ou d’autres par exemple. Est-ce que vous avez des exemples Yassine ? Tu as des exemples concrets à partager pour que les gens en fait, ce n’est pas forcément évident ; tu installes Castopod, tu regardes l’onglet, tu regardes la partie Fediverse et là « attends comment ça marche, où est-ce que je rentre mon compte et tout ? ».
Comprendre qu’en fait, que ton Castopod a lui-même son intégration native et qu’il a lui-même son compte, et qu’est-ce que je vais pouvoir faire avec, ce n’est pas forcément évident. Alors comment partager ça à un utilisateur qui connaît pas Castopod et qui potentiellement connaît pas très bien le Fediverse ? Qu’est-ce que tu pourrais donner comme exemple ?
Yassine : alors initialement on a intégré Castopod au Fediverse dans le but d’avoir une implémentation qui soit la plus transparente possible. C’est-à-dire que le podcasteur n’a pas à connaître le Fediverse, savoir comment ça fonctionne, pour qu’il ait son épisode qui s’affiche sur Mastodon et qu’il ait des dialogues et des interactions. Donc quand un podcasteur va créer un épisode et va le publier, on lui propose d’écrire le tout, que ce soit sur Mastodon ou sur un autre réseau de micro-blogging sur le Fediverse. Et donc, lorsque son premier épisode va être publié, il va avoir tous ses followers qui vont recevoir une notification avec un post sur Mastodon par exemple, l’épisode qui peut être lu directement là-bas avec un lecteur intégré et ils pourront soit liker, soit retweeter ou partager directement depuis leur Mastodon.
Le podcast c’est vraiment l’acteur, pour être plus technique, c’est un acteur du Fediverse et donc il peut interagir avec d’autres acteurs dans le Fediverse que ce soit sur Mastodon.
Walid : ce qui tire des problématiques qui est que j’ai un WordPress avec une intégration ActivityPub, il a son propre compte. J’ai un Castopod avec l’intégration ActivityPub, il a son compte. J’ai un Peertube, il a son compte. J’ai peut-être mon propre compte Mastodon qui a son compte. Et en fait, tu te retrouves facilement avec 3, 4 comptes et ce n’est pas forcément très, très évident. J’ai essayé plein de trucs pour voir comment faire et finalement, les choses ne sont pas si évidentes que ça en termes de stratégie, de ce que tu veux faire derrière ?
Benjamin : Je suis en total désaccord avec ce que tu viens de dire.
Walid : Aah, ça fait plaisir, vas-y !
Benjamin : ce n’est pas que les choses ne sont pas évidentes, c’est que les choses ne sont pas habituelles. Aujourd’hui, tu es habitué à avoir un compte Twitter, un compte Facebook, un compte Tiktok et tu as l’habitude de poster le même contenu sur plusieurs plateformes différentes. Là, la grosse différence, c’est que tes trois comptes, donc ton compte ActivityPub sur WordPress, ton compte ActivityPub sur Mastodon, ton compte ActivityPub sur Castopod, ils sont tous connectés entre eux et potentiellement un unique utilisateur qui serait par exemple sur Mastodon peut suivre les trois du même endroit et il va voir les contenus de ces trois plateformes arriver au même endroit. Et ça c’est pas habituel, ça on n’a pas l’habitude. On s’est habitué à avoir des contenus compartimentés dans des silos et des écosystèmes fermés.
Et là, tout d’un coup, tout est connecté. Alors en fait, c’est une question d’habitude. C’est-à-dire, comment est-ce que je veux communiquer ? Moi, ce que je pense, c’est que tu ne communiques pas de la même manière sur une plateforme de podcast que sur une plateforme de micro-blogging que sur une plateforme de blog. Et les contenus ne sont pas les mêmes. Sauf qu’on a pris l’habitude de faire des copiers-collés entre plateformes parce que ces plateformes étaient fermées et ne se communiquaient pas entre elles. Et là, aujourd’hui, sur le Fediverse, ce n’est plus le cas. Donc il faut juste réfléchir un peu à une stratégie éditoriale et de dire, voilà, je veux faire un podcast, c’est de l’audio et ça dure une heure, et ça va aller sur Castopod. Et puis derrière, j’ai un article qui va faire 200 lignes. Ça, clairement, c’est du WordPress. Et puis, je vais raconter un truc qui m’est arrivé ce week-end. Ça fait 250 caractères. Ça, c’est du Mastodon.
Mais en fait, je vais avoir des contenus différents. Et puis si demain, tu vas au Capitole du Libre, ou à Pas Sage en Seine, et que tu prends des photos, tes photos tu vas les mettre sur PixelFed. La nature des contenus, la forme des messages sur le Fediverse, elle est libre. C’est-à-dire que ça peut être une image, ça peut être un texte de moins de 400 caractères, ça peut être un texte de plus de 400 caractères, ça peut être ce qu’on veut, et ça peut être une vidéo, mais que l’ensemble de ces plateformes peuvent, d’une manière ou d’une autre, être capables de visualiser ces messages-là. Alors elles vont le visualiser plus ou moins bien, c’est sûr, parce que l’interface de chacune fait qu’elles vont afficher plus ou moins bien une photo, un texte court, un texte long, un podcast, etc.
C’est vraiment une manière, une stratégie éditoriale et en fait, ce que tu peux faire plus, mais tu peux pas faire moins. C’est sur les plateformes fermées que t’es obligé de faire du copier-coller. Là, il faut que tu poses la question peut-être un petit peu différemment.
Yassine : pardon, j’ai peut-être un truc à ajouter. J’aimerais préciser que ActivityPub n’est pas le Fediverse et le Fediverse n’est pas ActivityPub. Du coup, il faut faire la distinction entre le réseau social décentralisé qui est le Fediverse, et ActivityPub, qui est un des protocoles qui utilisé, le principal qui est utilisé, pour pouvoir communiquer entre les différents serveurs.
Aujourd’hui on n’en est qu’au début, ActivityPub date de 2018. Avant il y avait d’autres protocoles pour faire la même chose, mais ils n’étaient pas forcément adaptés. ActivityPub n’est pas forcément adapté aujourd’hui, peut-être qu’il y aura des évolutions, c’est un peu la cacophonie quand même. Il y a beaucoup de choses qui se passent, c’est tout nouveau. Et du coup…
Benjamin : c’est pas une cacophonie, c’est une effervescence.
Yassine : et donc, il n’y a pas forcément de gouvernance. Chacun fait les choses de son côté.
Et chacun suit avec chacune de ses solutions, etc. Donc on se rejoint au final grâce à ActivityPub aujourd’hui. Mais on pourrait imaginer demain que c’est un nouveau protocole qui permet d’intégrer les mêmes comptes, on aurait peut-être un seul même compte et qu’on puisse interagir avec partout, je sais pas, on peut, enfin, c’est qu’on est qu’au début, il y a des problèmes.
Benjamin : moi je pense que, c’est vrai, le plus gros problème du Fediverse, ce n’est pas que techniquement c’est compliqué, ce n’est pas qu’on en est qu’au début et qu’il peut se passer plein de choses, c’est que fonctionnellement les gens ont du mal à comprendre comment ça marche. Que quand on dit à quelqu’un on va sur le Fediverse, on sait pas trop c’est où le point d’entrée.
Les silos fermés ont cet énorme avantage que c’est simple, tu es pris par la main. Tu es un enfant, tu n’as pas de questions à te poser, tu fais ci, tu fais ça, tu coches, t’acceptes les conditions générales d’utilisation et puis voilà.
Le Fediverse ce n’est pas ça, tu es un adulte, tu peux choisir avec qui tu vas côtoyer, qu’est-ce que t’auras le droit de dire. La vraie problématique elle est plus sur le contenu que le contenant j’ai envie de dire. Après c’est vrai que c’est le début, enfin c’est le début ça fait quand même pas mal d’années que c’est là mais il y a encore énormément de choses à faire et à découvrir. Et puis il y a des trucs qui ne sont pas pratiques, par exemple la gestion des identités sur le Fediverse, moi personnellement je trouve qu’elle n’est pas super. Alors c’est pour ça aussi que nous on incite les podcasteurs à avoir leur propre nom de domaine, parce que comme ça ils sont maîtres de leur identité. Si demain je vais sur une instance Mastodon et puis que je décide d’en changer, je peux déménager mais mon identité va changer aussi sur les silos fermés, évidemment qu’on ne se pose pas la question parce que si je pars, je disparais. Donc là, au moins, je peux continuer à exister, mais sous une nouvelle identité. Il y a des réseaux aujourd’hui comme Nostr qui permettent de changer de fournisseur d’accès au réseau social en conservant son identité, ce fait de manière assez futée. Bon, mais il faut connaître. Donc, il y a plein de choses à faire, mais c’est ça qui est génial. C’est que ça ne peut que s’améliorer aujourd’hui.
Les défis de Castopod
Walid : on va refermer le chapitre sur le Fediverse, parce qu’on peut encore en parler longtemps. Dernier point avant la conclusion, c’est le futur, et ce que j’appelle les défis.
Le futur et les défis de Castopod.
Est-ce que vous pourriez nous expliquer un peu sur quoi vous travaillez, ou quelles sont les grosses choses qui vont venir, ou sur lesquelles vous savez que vous devez travailler ?
Benjamin : déjà, les défis de Castopod, c’est trivial, mais Castopod est une plateforme open source, tout le monde peut la prendre, se l’approprier, la modifier, on en a déjà parlé, mais si personne le prend, si personne se l’approprie, si personne le modifie, on aura perdu. Pour nous, le véritable enjeu sur Castopod, c’est qu’il ait un minimum de succès, et que les gens se l’approprient, et que les gens l’installent et qu’ils viennent chez nous. Mais en tout cas, si le produit n’est pas utilisé, ça ne sert à rien. Au départ, on en avait besoin pour nous, mais on ne l’aurait jamais fait s’il n’y avait pas eu cette demande extérieure et ce besoin. Et donc, on est super content que des gens l’utilisent et on est super content de la progression aujourd’hui, mais il ne faut pas que ça s’arrête. Et pour nous, l’enjeu, c’est qu’il y ait de plus en plus de gens qui utilisent la plateforme et qu’il y ait de plus en plus d’interactions. Et que, alors peut-être pas toutes, mais que les fonctionnalités qu’on utilise soient utilisées. Sincèrement, je suis super content quand tu dis que tu utilises la fonctionnalité des personnes qui permet de dire quels sont les intervenants sur le podcast, parce que, voilà, ça apparaît dans d’autres applications. Que des fonctionnalités comme ça, qu’on a mis du cœur à développer, soient utilisées, on ne se fait pas d’illusions, on sait qu’elles ne le seront pas toutes au même degré. Et pour ça, on a besoin des retours des utilisatrices et des utilisateurs, de savoir qu’est-ce que vous aimez, qu’est-ce que vous aimez pas, qu’est-ce que vous voulez qu’on change. Et puis, si vous voulez faire des merge requests, allez-y. Si vous voulez traduire dans des nouvelles langues, allez-y. Pour nous, le défi, c’est vraiment ça, c’est que les gens se l’approprient, utilisent, le modifient, le critiquent, l’encouragent.
On a vraiment besoin de ça parce que sinon tout ce qu’on fait ça sert à rien. Après, sur les choses à venir, on a brièvement parlé des plugins. Aujourd’hui on est en train de mettre en place un système de plugins parce que :
- On ne peut pas tout développer et donc il y a des fonctionnalités qu’on ne pourra pas faire parce que notre temps est limité et donc on ne peut pas tout faire
- il y a certaines choses qu’on n’a pas forcément envie de faire, on ne va pas le cacher, et en particulier il y a des éditeurs de services en lien avec le podcast qui nous ont dit « tiens, nous on aimerait bien s’interfacer, faire ci, faire ça ». On dit « oui super mais c’est pas à nous de le faire, c’est pas à nous de faire la promotion d’une solution plus qu’une autre ».
Et donc ça, on en attend beaucoup parce qu’on pense qu’il peut pas y avoir d’écosystème vivant si tout le monde ne peut pas venir participer facilement. On ne peut pas dire qu’on fait la promotion de l’interopérabilité si on ne la promeut pas sur notre propre plateforme. Et l’architecture en plugin en fait partie : encore une dernière dernière fois on invente rien c’est aussi ce qui a fait le succès de WordPress et puis derrière on attend aussi pas mal sur la monétisation puisque on a une solution de monétisation sur Castopod, plus exactement chez Ad Aures qui est activable sur Castopod et sur laquelle on a pas mal
d’attentes parce qu’on pense qu’elle est assez chouette.
Walid : Yassine, est-ce que tu veux rajouter des choses sur les défis futurs ou des nouvelles fonctionnalités qui arrivent et tout ce genre de choses ?
Yassine : juste un petit truc à préciser, puisqu’on avait parlé de Fediverse et de l’intégration avec Castopod, il y a quand même quelques fonctionnalités aujourd’hui qui manquent entre Castopod et le Fediverse, à savoir les hashtags, pinger une personne en particulier dans le Fediversees. Et du coup il y a un peu de réusinage de code à faire côté implémentation. Ca fait longtemps que je l’avais implémenté en 2021 et du coup j’ai beaucoup appris depuis, je sais qu’il y a un petit réusinage à faire pour que tout fonctionne pour le mieux. Donc ça c’est aussi prévu dans les mois prochains.
Castopod pour un utilisateur de podcast
Walid : en guise de conclusion j’aimerais vous poser trois questions. La première, c’est qu’est-ce que vous diriez à un auditeur de podcast pour présenter Castopod ?
Benjamin : en quelques phrases. La première chose, c’est rien, puisque l’auditeur de podcast, il n’est pas sur Castopod, il est sur son application d’écoute. Alors, ceci dit, je vais quand même me forcer à faire une vraie réponse.
Un auditeur de podcast qui, par exemple, aurait des problèmes d’accessibilité et qui voudrait pouvoir accéder à un podcast avec de la transcription et qui voudrait consommer un podcast qui ne propose pas de transcription parce qu’il est hébergé sur une plateforme qui ne permet pas d’insérer de la transcription, et bien dans ce cas là je lui dirais, « demande à ton podcaster préféré d’aller sur une plateforme qui est compatible podcast 2.0 et qui en particulier permet de mettre de la transcription » et évidemment j’aurais tendance à conseiller Castopod mais je ne suis pas sûr d’être tout à fait objectif sur le choix, je dois le reconnaître. En tout cas, en tant qu’auditeur ou auditrice, il y a un véritable enjeu à exiger des plateformes qui sont ouvertes, libres et qui apportent des vraies fonctionnalités. Encore une fois, en tant qu’auditrice ou auditeur, je ne vois pas aujourd’hui l’intérêt d’aller sur un Apple Podcast où j’ai exactement les mêmes fonctionnalités que j’avais en 2000, 2005, ça date de 2005. Donc si j’ai pas de plus de fonctionnalités que ça, il faut juste que je change de crèmerie et que je demande à mon podcasteur de dire non mais va voir ailleurs quoi.
Castopod pour un créateur de contenu
Walid : yes, entre parenthèses j’ai moi-même changé de crèmerie parce que la plateforme sur laquelle j’étais m’a expliqué que le Fediverse s’en foutait quoi. Donc voilà.
La deuxième question c’est « qu’est ce que vous diriez à un créateur de contenu qui utilise une autre plateforme de podcast pour présenter Castopod ? »
Benjamin : alors la première chose c’est est-ce que la plateforme que tu utilises est podcast 2.0 ? Alors il n’y a pas que Castopod parce que c’est important de le dire, podcast 2.0 ne peut pas fonctionner si Castopod est la seule plateforme à proposer ces fonctionnalités là. C’est un peu contre intuitif mais nous on a intérêt à ce que nos concurrents proposent des fonctionnalités aussi bien que les nôtres, en tout cas pour partie. Si on est tout seul à proposer de la transcription, les plateformes d’écoute n’auront pas d’intérêt à l’intégrer, et du coup, ça ne marchera pas. Donc on a intérêt à ce que le maximum de plateformes possibles proposent le maximum de fonctionnalités podcast 2.0, et que nos concurrents proposent des trucs comparables à nous, en tout cas presque aussi chouette. Donc pour ça il y a un site qui existe, qui les référence toutes, qui s’appelle NewPodcastApps.com, en un seul mot, et qui référence l’ensemble des plateformes d’écoute et de publication et d’index de podcast qui sont compatibles podcast 2.0. Alors il y a un filtre qui est assez gros parce qu’il y a pas mal de fonctionnalités : on peut choisir celles qui sont pour l’hébergement, celles pour l’écoute, celles qui sont open source, celles qui proposent de la transcription, de la géolocalisation, enfin bref, il y a tout. Et donc, on va pouvoir chercher, si je suis un podcasteur, quelle est la plateforme qui me convient le mieux. Et puis, vous verrez que très vraisemblablement, c’est Castopod. Mais en tout cas, faites-vous votre idée.
Ce qui me ramène aussi à la question précédente, c’est que j’aurais pu dire, en tant qu’auditeur, va sur NewPodcastApps.com et puis cherche cette fois les apps, les applications d’écoute et puis si tu cherches la géolocalisation, de la gestion d’intervenants, de la transcription, du chapitrage, tu coches et puis tu regardes qu’est-ce qui existe comme application d’écoute et ça va te permettre de choisir celle qui te convient le mieux. Est-ce que c’est sur iOS, sur Android, sur Mac, sur PC, sur Linux ou que sais-je. Et c’est vraiment un site à garder en bookmark. Il y a tout et c’est ça ce qui fera évoluer les choses et qui fera que le podcast va grandir avec nous tous.
Castopod pour un créateur de contenu qui se lance
Walid : dernière question, qu’est-ce que vous diriez à un créateur de contenu qui se lance pour présenter Castopod, comme moi quand je me suis lancé par exemple ?
Benjamin : fondamentalement pas très différent de ce qu’on a dit avant.
Moi encore une fois, je vais me répéter, mais je dis qu’est-ce qui va faire ta valeur c’est tes données et ton audience, ben choisis une plateforme qui te garantit que personne ne pourra te les retirer, personne, ça me paraît vraiment important, sur un écosystème fermé ou sur une plateforme fermée : si tu es déréférencé et bien tu as perdu tout le monde. Tes étoiles sur Apple podcast, elles peuvent disparaître, tes likes sur Castopod, ils ne peuvent pas disparaître. Personne, techniquement, ne peut les retirer. Ce n’est pas possible. Ils sont sur ta plateforme, c’est ton réseau social. Ce qui est important, c’est que Castopod ait son propre réseau social. Ce n’est pas le seul, toutes les plateformes du Fediverse, c’est le cas. Castopod a son propre réseau social qui est connecté à d’autres, donc tu n’es pas limité à ça. Du coup, on ne peut pas te censurer. Tu peux toi t’auto-censurer, pour x ou y raison, mais on peut pas te censurer. C’est techniquement pas possible. Et ça me paraît fondamental de comprendre ça parce que y a tellement de créatrices et de créateurs qui se sont pris des strikes sur des plateformes fermées et qui sont été… Alors soit juste tu peux être démonétisé, enfin y a différentes tailles de bâton, soit tu disparais complètement, mais c’est quelqu’un qui a pris la décision pour toi.
C’est pas toi qui as pris ton risque à mesurer, qui as dit non mais ça je le garde, je prends le risque. Sur ces plateformes-là, donc Castopod fait partie, et bien c’est toi qui décides, et c’est toi qui assumes ton risque, et c’est toi qui décides de, est-ce que ça je le garde, est-ce que ça je le supprime. T’es toujours responsable, en regard de la loi, ça c’est valide sur toutes les plateformes, mais c’est toi qui prends la décision, personne d’autre.
Conclusion
Walid : Ok, c’est un bon mot de la fin, je vais faire moi-même une petite tribune libre, une fois n’est pas coutume. J’ai migré vers Castopod en décembre et j’en suis très content parce que j’ai gagné déjà toute l’intégration au Fédiverse, ce qui est très agréable, surtout quand tu fais un podcast qui parle de logiciels libres et de standards ouverts et l’audience est en bonne partie là. J’ai trouvé ça vraiment hyper intéressant. Je n’ai pas perdu grand chose pour être tout à fait honnête. Il y a des trucs qui étaient peut-être un peu mieux sur certaines
autres plateformes. Je pense typiquement à l’édition de chapitrage par exemple, on en a déjà parlé.
Il y a des trucs qui sont un peu perfectibles et tout mais j’ai pas perdu de fonctionnalité. Donc ça c’est vraiment très cool. Je suis passé à une plate-forme libre que je trouve en plus intéressante.
Je ne vais pas le cacher, ce qui est très cool pour moi c’est que vous êtes français et qu’on peut parler et que vous pouvez m’expliquer un peu votre philosophie, ce que vous voulez faire etc. Je trouve que c’est intéressant quand t’es créateur de contenu de pouvoir comprendre qu’est ce que veulent faire les gens qui font cette plateforme. Et vers quoi ils veulent aller, ce qu’ils veulent pas faire etc. C’est vachement sympa.
Je suis hyper content d’avoir migré sur le Castopod. J’avais vraiment envie de faire cet épisode avec vous parce que j’avais envie que vous puissiez aussi partager un peu les discussions que nous on a pu avoir en off sur les différents salons. Merci, merci de faire cette plateforme en tant qu’utilisateur, en tant que créateur de contenu, c’est vraiment très chouette.
Je vous dis à bientôt, chers auditrices, auditeurs. Voilà, c’est un le plus long épisode, je pense, qu’on ait fait ! Et puis si ça vous intéresse, on va passer un bonus, on va tester un truc qui est une idée de Benjamin : parler de sujets autres, un peu plus techniques, etc.
Donc merci à tous les deux, merci Yassine, merci Benjamin pour votre temps.
Yassine : Merci.
Benjamin : Merci et puis merci d’être là parce que si t’étais pas là, ça n’allait pas arriver.
[Générique de fin]
L’intégration ActivityPub
Walid : Petit bonus, petit extra qui est lié à des conversations que j’ai pu avoir avec Benjamin ou avec Yassine sur nos différentes rencontres.
J’aimerais bien qu’on parle un peu de l’intégration ActivityPub et j’aimerais bien savoir un petit peu comment ça s’est passé techniquement. Est-ce que vous connaissiez bien ActivityPub quand vous avez décidé de l’implémenter ? Yassine, qu’est-ce que tu peux nous en dire ?
Yassine : alors, ce n’est pas évident, en tout cas, c’était pas évident quand j’avais commencé à implémenter. Je connaissais rien de l’Activity Pub, c’était en 2021, je crois. Donc, j’ai dû tout apprendre. Sachant que les ressources, en termes de dev, concernant le Fediverse ne sont pas nombreuses. Je m’étais reposé sur quelques articles de Mastodon, comment ils avaient fait eux et du coup et surtout l’aspect d’ActivityPub qui est long, beaucoup de textes, pas beaucoup d’images, pas évident à comprendre a priori et du coup c’est plusieurs allers-retours. A un moment donné j’ai dû me lancer à écrire du code, j’avais installé un serveur Mastodon, j’avais demandé à Benjamin qu’on en ait un pour faire des tests directs avec.
Donc c’est des allers-retours entre du code, des tests, avec ce qu’on avait pour le dev, lire et relire l’aspect de ActivityPub jusqu’à comprendre, parfois pas comprendre et revenir dessus pour comprendre. Donc ça a pris quelques mois quand même. Ce qui était compliqué c’était le fait qu’il n’y ait pas de ressources, pas vraiment d’outils pour tester les implémentations, en tout cas aujourd’hui c’est ce qui manque. Je crois qu’il y avait eu quelques initiatives pour, FediDB je crois à l’époque qui voulait faire une sorte de serveur mock pour pouvoir tester en local mais ils ont pivoté sur autre chose.
L’adoption d’ActivityPub + Castopod Index
Voilà, s’il y a un truc à savoir sur ActivtyPub c’est que c’est pas évident à implémenter. Aujourd’hui comme Mastodon est la référence en termes de Fediverse – c’est le logiciel qui est le plus utilisé aujourd’hui dans le Fediverse – on a tendance à tester avec une implémentation Mastodon et il y a des avantages et des inconvénients. Et ensuite, après ces mois d’implémentation, on avait sorti une première version Alpha 42, je me rappelle qu’à ce moment-là en avril 2021. Et puis avec les retours des utilisateurs, on peut corriger les bugs à droite à gauche. C’est vraiment implémenté de façon pratique et pas tant faire des schémas avant etc.
Walid : combien de temps vous avez mis pour avoir une version stable avec l’intégration ActivityPub ? Castopod complet, c’est la première version de Castopod. Je veux dire la fonctionnalité, pour que vous la considériez comme vraiment stable et mature, la fonctionnalité ActivityPub.
Benjamin : dès la Alpha 42.
Yassine : oui et puis après il y avait quand même quelques petits bugs à droite à gauche mais on les a corrigés au fur et à mesure et le plus compliqué c’était quand même de sortir la 42 parce qu’il fallait comprendre comment tout ça fonctionnait.
Walid : l’adoption elle a été rapide de cette partie ActivityPub ? C’est devenu tout de suite une fonctionnalité populaire ou pas ?
Benjamin : Ça c’est difficile à mesurer, on le voit un petit peu aujourd’hui avec index.castapod.org, en regardant tout simplement combien chaque podcast Castapod a d’abonnés.
Bon honnêtement je pensais que ça serait plus. On a Nick qui a plus d’un millier. Je pense que c’est un des plus gros, si c’est pas le plus gros.
Walid : Oui Nick de la chaîne The Linux Experiment que j’ai interviewé effectivement.
Benjamin : 100 000 abonnés sur YouTube, donc c’est à relativiser, mais c’est déjà pas mal. C’était aussi d’ailleurs un des objectifs de l’index Castopod, c’était d’essayer de faciliter les interactions vers le Fediverse en regroupant tous les podcasts Castopod au même endroit et de permettre de les trouver et de les suivre parce que sinon c’est pas forcément intuitif et évident. Donc on espère que ça va continuer à se développer, et qu’il y en aura de plus en plus, et que ça sera de plus en plus utilisé.
Evolutions d’ActivityPub pour le podcast
Walid : sur la partie Fediverse, effectivement, on en a déjà parlé dans l’épisode, donc je n’ai pas forcément besoin de revenir plus là-dessus.
Moi j’avais repéré effectivement la problématique de hashtag, que ça serait cool d’avoir les hashtags.
Benjamin : sur le Fediverse, je peux peut-être introduire un sujet, je sais pas si ça vous intéresse l’un comme l’autre, en tout cas c’est pas moi qui en parlerai. Aujourd’hui ce que Castopod publie, en gros on s’est calqué sur ce que Mastodon attend parce que c’est là où sont les utilisateurs. Mais ce qu’il faudra faire un jour, c’est que Castopod publie ses propres messages avec son propre format et qu’il y ait des lecteurs de podcasts, des vraies applications d’écoute de podcast, qui plutôt que de s’abonner à un flux RSS s’abonnent à un flux ActivityPub. Le truc c’est qu’aujourd’hui on estime que la pompe n’est pas suffisamment amorcée pour que ça vaille le coup de se lancer là-dedans. Mais ça fait partie des choses qui sont… En fait il y a des gens qui attendent je pense qu’on fasse ça mais ils sont trop peu nombreux aujourd’hui pour que…
Yassine : on peut le faire aujourd’hui ça et avoir un adaptateur déjà pour Mastodon pour qu’ils puissent lire les épisodes de podcast. C’est juste que j’avais défini une spec à l’époque
c’était en 2022 je crois, ou fin 2021 je ne sais plus.
PodcastActivityStream dans l’idée c’est d’étendre ActivityPub et d’inclure les podcasts et les épisodes de podcast.
Yassine Doghri
Je pense que dans les réusinages dont je parlais dans l’épisode principal, je vais peut-être intégrer ça directement et voir avec Mastodon comment faire une Merge Request ou quelque chose à Mastodon.
Benjamin : c’est un aspect qui est ultra technique et qui est ultra important parce qu’à terme, alors c’est l’idée qu’on avait au début, qui était très naïve, mais qui pour moi est toujours valide : c’est que, à terme, le podcast doit rester décentralisé, mais pas forcément sur du RSS. Et que je pense que ActivityPub est peut-être une alternative à RSS. Parce qu’avec ActivityPub, il y a beaucoup plus de fonctionnalités.
RSS, c’est ultra limité, et avec ActivityPub, on peut faire beaucoup, beaucoup plus de choses. Et donc nous, on s’était dit « on va faire les deux ». Et puis, peut-être qu’un jour, ActivityPub, JSON-LD, tout ça, va supplanter le RSS pour le podcast et qu’il y ait des applications d’écoute de podcast qui finiront par ne plus parler que d’ActivityPub. C’est de la science-fiction aujourd’hui, très clairement. En tout cas, nous, on est toujours sur cette direction-là de créer un PodcastActivityStream dont Yassine a écrit la spec.
Donc la spec elle est publique, elle existe aujourd’hui, elle est juste implémentée par personne y compris nous. On l’implémente pas.
Yassine : Si on l’implémente, mais pas comme il faut en fait. C’est juste un petit détail mais du coup j’avais eu une discussion avec quelqu’un on en parlait par mail et il m’avait expliqué que ça c’était possible aujourd’hui et qu’on pouvait juste faire un adaptateur assez rapide, enfin facile sur Mastodon pour pouvoir lire des épisodes en fait.
Walid : il y a aussi tout un aspect de convaincre potentiellement d’autres hébergeurs, d’autres plateformes de streaming de faire de même finalement, pour que ça ait vraiment un intérêt.
Benjamin : oui, bien sûr. Mais c’est un peu la démonstration par l’exemple. Toute la problématique de Podcast 2.0, c’est la démonstration par l’exemple. C’est dire voilà la spécialité, qu’il y en ait un ou deux qui s’y mettent, qu’on résolve le problème de l’œuf et de la poule et puis derrière les autres suivent parce qu’ils disent « Ah ben ouais mais en fait ça marche, les gens s’en servent, mon concurrent le fait, il faut que je le fasse aussi. » C’est la preuve par l’exemple et par le succès.
Open Podcast Prefix Project (OP3)
Walid : je voudrais qu’on parle d’un autre sujet qui pour moi est hyper important parce que je l’utilise et que je trouve ça vraiment très très cool, c’est OP3, op3.dev. J’aimerais beaucoup qu’on en parle. Pour moi ça se traduit sur mon podcast par « je peux donner des statistiques publiques à ma communauté », donc ça je trouve ça très très cool. Donc j’aimerais bien qu’on en dise deux mots pour que vous puissiez introduire ce que c’est qu’OP3, comment vous travaillez avec les gens qui font OP3 ? Comment vous avez intégré ça ? Et qu’est-ce que ça apporte pour les podcasteurs et pour les gens qui écoutent des podcasts ?
Benjamin : OP3 pour Open Podcast Prefix Project, donc littéralement le projet des préfixes de podcasts ouverts. Donc qu’est-ce que c’est ? C’est un outil de mesure d’audience qui fonctionne par préfixes. Pourquoi ? Parce qu’en fait, on préfixe les URL des fichiers MP3 par le serveur de mesure d’audience. Et donc ça permet de mesurer un nombre de téléchargements pour chacun des épisodes. Des systèmes comme ça, il y en a plein, il y en a depuis longtemps. Les plus connus, à une époque je pense qu’il y avait Chartable, qui était le plus connu, qui était donc une espèce de Google Analytics du podcast, qui a été racheté par Spotify. Donc du coup, ça refroidit, à raison, pas mal de gens parce que ça permet à Spotify d’avoir énormément d’infos sur des concurrents. Et donc, Castopod a son propre système de préfixes et son propre système d’analytics. C’est-à-dire qu’avec Castopod, on a des mesures d’audience intégrées qui se retrouvent donc dans la base de données du podcaster. Et OP3 a une double particularité, c’est qu’il est, enfin même triple, il est open source, il est open data et il est gratuit. La plupart des systèmes de préfixes de podcast se disent gratuits dans le sens où c’est gratuit à mettre en place. Je vais pouvoir gratuitement consulter quelques données et puis si je veux pouvoir consulter l’intégralité de mes données, c’est-à-dire par exemple des mesures d’audience qui ont plus d’un mois, il va falloir que je paye. C’est ultra classique, mais en gros c’est gratuit. Mais si tu veux avoir accès à tes données que tu m’as confiées, il va falloir que tu payes. Moi je ne suis pas fan de ce type de business model personnellement. Je trouve ça pas très cool. Après tout, pourquoi pas, tu es prévenu.
OP3 est vraiment différent parce que je vais pouvoir consulter l’intégralité de mes données, mais surtout tout le monde va pouvoir consulter l’intégralité de mes données. C’est dans ce sens là qu’il est open data, c’est qu’il n’est pas possible, ce n’est pas possible, c’est voulu, ce n’est pas un défaut ou un bug ou un truc qui a une fonctionnalité qui n’est pas encore là. Il n’est pas possible sur OP3 d’avoir des données privées.
Je ne peux pas utiliser cette plateforme là pour moi consulter mes stats d’audience et que personne d’autre ne puisse les consulter, ce qui est le cas tout le temps en fait normalement. Et donc là, tout le monde peut savoir combien tel épisode a fait d’audience tel jour, depuis quel navigateur, etc. L’enjeu d’OP3, il est d’avoir une plateforme qui soit vraiment ouverte et qui puisse donner des informations à tout un écosystème. Le fait que c’est gratuit c’est aussi très important parce qu’il existe des plateformes de mesure d’audience qui donnent des données en tout cas partielles, publiques, et par exemple des classements et des choses comme ça. Mais si c’est payant, on sait déjà que tous les gens qui figurent dans le classement ont payé. Et que c’est pas parce que je n’y suis pas que j’ai pas d’audience, c’est juste parce que j’ai pas payé. Donc le fait que c’est gratuit, ça garantit aussi une certaine transparence. Et puis à mon sens en tout cas une certaine qualité des informations.
Alors aujourd’hui OP3 c’est encore petit parce que c’est un projet qui est très récent, il y a plus d’un millier de podcasts aujourd’hui, la croissance est assez linéaire. L’idée c’est qu’il y ait le plus de podcasts possible pour qu’on puisse commencer à avoir des infos sur les audiences, etc. Donc d’un point de vue technique, c’est pas très compliqué à intégrer. Dans le cas de Castopod, nous on l’a intégré il y a un moment déjà. Et pour le podcasteur, c’est juste une case à cocher en fait. C’est un bouton à activer : est-ce que je veux être sur OP3 ou pas ? Je choisis. Par défaut, ce n’est pas activé. Il faut que je fasse le choix de l’activer. Et si je l’active, et bien, en fait, du coup, j’aurai des stats à deux endroits, je les aurai sur Castopod et sur OP3. Et sur OP3, tout le monde pourra les consulter. Ce qui fait aussi que OP3 joue un peu le rôle de tiers de confiance. Ce n’est pas un tiers certificateur, en particulier même si les méthodes de mesure sont conformes à la norme IAB v2. Ce n’est pas pour autant que la plateforme est certifiée IAB v2, ne serait-ce que parce que ça coûte assez cher, mais en tout cas ça me permet de faire des comparaisons et d’avoir plein d’infos.
Et pour la petite histoire, c’est ce qu’on utilise pour faire le top 50 sur index.castopod.org, c’est-à-dire qu’on va chercher des infos de mesure d’audience, d’OP3, pour ces podcasts-là. Alors comme l’index Castopod, comme son nom l’indique, ne concerne que des podcasts hébergés sur Castopod, il n’y a rien d’autre, mais on pourrait faire un classement avec des podcasts autres que ceux qui sont hébergés par Castopod, pour peu qu’ils s’utilisent OP3.
Walid : Finalement quand moi j’active la case à cocher pour dire que je veux l’intégration avec OP3, je n’ai pas de lien sur le site de mon podcast, quelque chose qui me pointe vers les stats, Je ne suis pas sûr.
Yassine : Ça, on vient de l’ajouter. Du coup, ce sera pour la prochaine release.
Walid : génial ! parce que justement, je me disais, ‘trop bien, à travers Castopod Index, je peux aller voir, trouver les stats des podcasteurs’. Donc ça, je trouvais ça très cool.
Benjamin : en fait, l’URL, elle n’est pas secrète. Elle est totalement publique.
Ce qu’utilise OP3 c’est le GUID, puisqu’il faut savoir c’est qu’un podcast il peut changer d’hébergeur, il peut déménager, il peut changer de nom, son flux RSS peut changer d’URL, et du coup il y a un truc idiot qu’on n’avait pas avant podcast 2.0, c’était un identifiant unique par podcast, qui permette de dire « bon ben voilà, là j’ai deux flux RSS, mais en fait c’est le même », parce que j’ai changé d’hébergeur, parce que parfois aussi je peux avoir un doublon, parce que je peux avoir deux noms de domaines qui pointent sur le même serveur et du coup potentiellement je vais avoir deux URL qui pointent vers le même fichier physique.
Et donc Podcast 2.0, parmi les fonctionnalités, a rajouté ça : le GUID qui est donc un identifiant unique par podcast qui permet de savoir que maintenant en fait ça c’est deux fois le même et OP3 utilise ça.
Donc en fait il suffit d’aller sur op3.dev/p/guid et on accède comme ça aux données. Ce qui me permet aussi de préciser une chose, c’est que OP3 va chercher les infos du podcast dans la base PodcastIndex. Puisque quand OP3 mesure un épisode, c’est au moment du téléchargement d’un fichier mp3 qu’il va compter, mais il a juste l’url du fichier mp3, on ne lui fournit pas d’autres informations sur le nom du podcast etc. Et donc pour pouvoir afficher le titre de l’épisode ou des informations comme ça, en fait il fait le lien par PodcastIndex, ce qui signifie, et c’est important de le savoir et on le dit vraisemblablement pas assez, qu’un podcast qui n’est pas référencé d’un PodcastIndex ne peut pas utiliser OP3. Et ça, ça arrive.
Et en fait, John Spurlock, qui est donc le développeur, la personne qui maintient OP3, nous a contacté en disant « mais je comprends pas, on a des podcasts qui sont hébergés par Castopod, qui utilisent OP3, mais on sait pas quoi en faire parce qu’ils sont pas référencés sur PodcastIndex. Pourquoi ? ». Parce que Castopod ne force pas les podcasts à se référencer sur PodcastIndex.
La mesure d’audience dans le podcast
Walid : Et vous pourriez pas mettre une caisse à cocher pareil ?
Benjamin : alors on peut faire plein de choses, c’est juste qu’on l’a pas fait. Et puis la seule personne qui s’est plainte jusque là c’était John Spurlock qui disait « mais comment ça se fait que j’ai des podcasts qui viennent me voir et que je retrouve pas en fait ? Je connais même pas le titre, le nom, je n’ai aucune info dessus ».
Alors pour celles et ceux qui sont intéressés par toutes ces problématiques de mesure d’audience, parce que la mesure d’audience dans le podcast, ce n’est pas simple, c’est compliqué. On parle de mesure d’audience, mais en fait on devrait parler de mesure de téléchargement parce que c’est un point qui est vraiment génial dans le podcast, c’est que je peux écouter un podcast déjà sans cookie, on l’a déjà évoqué tout à l’heure, mais je peux écouter un podcast sans me créer de compte. C’est-à-dire que je peux télécharger Antennapod, on ne me demande rien, je vais sur F-Droid, je télécharge Antennapod et je m’abonne à un podcast. Je m’abonne à un podcast, mais à aucun moment je n’ai donné la moindre information sur moi.
Je n’ai pas donné d’adresse mail, je n’ai pas créé de compte, je n’ai pas donné d’identifiant, je n’ai pas donné de mot de passe, absolument rien. Personne ne sait qui je suis. Et c’est ça que je trouve aussi incroyable aujourd’hui dans l’internet de 2024, c’est qu’il y a encore un écosystème où je peux m’abonner à un contenu, l’écouter tous les jours, toutes les semaines et personne ne sait qui je suis. Et je n’ai pas créé de compte.
Benjamin Bellamy
La contrepartie c’est que quand je veux mesurer une audience, c’est beaucoup moins facile parce que faire la différence entre deux téléchargements et savoir est-ce que c’est la même personne ou pas, c’est quasiment… Alors de manière certaine c’est impossible, après je peux avoir des idées et puis surtout ce qui compte c’est de pouvoir comparer que par rapport au mois précédent : « j’ai 30% de téléchargement en plus ou en moins », mais… donc c’est pas très grave au final.
Pour toutes ces problématiques là, il y a un très bel article qui va sortir dans le podcast magazine numéro 3. Je dis que c’est un très chouette article parce que c’est moi qui l’ai écrit et qui donne aussi une interview de John Spurlock, le développeur de OP3, qui m’a fait l’honneur de répondre à toutes les questions que j’avais sur sa plateforme. Pour toutes celles de ceux qui sont intéressés, je vous encourage à aller lire Podcast Magazine numéro 3.
Walid : merci d’avoir écouté ce petit supplément, on avait quelques trucs en plus à discuter.
N’hésitez pas à me dire si ça vous a plu, qu’on fasse ces petits suppléments un petit peu plus techniques. Si c’est le cas, on pourra essayer sur d’autres épisodes. Je remercie Yassine et Benjamin de s’être prêté au jeu et d’avoir passé plus de 2h20 d’enregistrement avec moi.
Continuez à les suivre, il y a pas mal de conférences autour de Castopod, il y a pas mal de choses, parlez-en autour de vous. Et bien à bientôt et merci d’avoir écouté jusqu’au bout ces épisodes.
Cet épisode a été enregistré le 23 janvier 2024.
Pour aller plus loin autour de Castopod
Licence
Ce podcast est publié sous la double licence Art Libre 1.3 ou ultérieure – CC BY-SA 2.0 ou ultérieure.
Hello Walid,
J’ai juste lu la partie sur op3, merci beaucoup pour le travail et l’effort de transcription.
Il manque juste des liens « chapitrés » dans la transcription pour pouvoir partager avec les ami•e•s !
Bonne journée
Bonjour Vincent !
Tu veux dire de rajouter des ancres sur les titres ou de faire un lien vers le player positionné sur le bon chapitre ?
je viens de faire un test d’ajout de titres + ancres, c’est de ça dont tu parlais Vincent ?
Yes super !
Et maintenant, un petit js pour placer l’écoute au bon timecode, tu crois que c’est jouable ?
je ne peux pas faire un lien vers le bon chapitre au niveau du player, je vais faire une demande d’évol sur castopod!
Yes super !
cela a l’air d’être dans les tuyau non ?
https://code.castopod.org/adaures/castopod/-/commit/797516a2ec7d88704412a5cca50421e8eef38eec
ça c’est déjà sorti, je parle plutôt de ça https://code.castopod.org/adaures/castopod/-/issues/449.
actuellement on ne peut pas faire la lecture d’un épisode depuis un timecode précis
Aussi, à mon avis, mettre un peu en exergue le locuteur serait sympa (avec une classe à part) 🙂
j’ai mis en gras, je vais regarder comment les autres podcasts font pour trouver un truc plus sympa
@podcast J'ai bien aimé le supplément technique. Du point de vue format je me demande si on n'y gagnerait pas à en faire un fichier séparé. Une manière de passer ce bonus en opt-in alors que là il est en opt-out : si on oublie de couper, il se "lance" tout seul. Mais c'est peut-être le but 😅.
c’est surtout pour éviter le travail supplémentaire de faire une troisième fichier, de le mettre en ligne, etc 🙂