{"id":1162,"date":"2022-11-11T18:09:09","date_gmt":"2022-11-11T17:09:09","guid":{"rendered":"http:\/\/skro.hellabeth.com\/?p=1162"},"modified":"2022-11-11T18:09:12","modified_gmt":"2022-11-11T17:09:12","slug":"taquiner-la-baleine","status":"publish","type":"post","link":"https:\/\/skro.hellabeth.com\/?p=1162","title":{"rendered":"Taquiner la baleine"},"content":{"rendered":"\n<p>Il y a 5 ans, le monde d\u00e9couvrait <a href=\"https:\/\/skro.hellabeth.com\/?p=826\" data-type=\"post\" data-id=\"826\">Mastodon<\/a>. Et depuis quelques jours, le monde red\u00e9couvre Mastodon. Mais avec ZoC Radio, on avait l&rsquo;habitude de d\u00e9fricher les territoires encore presque vierges&#8230;<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>En fait, Mastodon n&rsquo;est que la partie \u00e9merg\u00e9e d&rsquo;un iceberg de solutions interop\u00e9rables, appel\u00e9 le Fediverse, qui compte en particulier <a href=\"https:\/\/skro.hellabeth.com\/?p=271\" data-type=\"post\" data-id=\"271\">Diaspora*<\/a> (un truc \u00ab\u00a0\u00e0 la Facebook\u00a0\u00bb qui est vraiment rest\u00e9 ultra-confidentiel), PeerTube (un projet d\u00e9velopp\u00e9 par les fran\u00e7ais de Framasoft pour partager des vid\u00e9os, comme personne ne s&rsquo;en serait dout\u00e9, mais qui n&rsquo;est pas du tout sec pour le moment), et un truc qui m&rsquo;a tap\u00e9 dans l&rsquo;oeil: <a rel=\"noreferrer noopener\" href=\"https:\/\/funkwhale.audio\/\" target=\"_blank\">Funkwhale<\/a>. <\/p>\n\n\n\n<p>Depuis quelques temps d\u00e9j\u00e0 (et les mis\u00e8res du site de ZoC), les <s>rare<\/s> mille et un auditeurs de ZoC nous demandaient de remettre les archives des \u00e9missions en ligne. Jusqu&rsquo;ici, toutes les solutions \u00e9taient soit tr\u00e8s limit\u00e9es en espace de stockage (les SoundCloud et al.), soit totalement pas pratiques (un gros r\u00e9pertoire avec une pauvre interface html de t\u00e9l\u00e9chargement), soit demandant un \u00e9norme investissement en temps (le r\u00e9upload sur <a href=\"https:\/\/www.youtube.com\/watch?v=Hlt4pOG4ASI&amp;list=PLT67vr0byhqjaL6jwx4gMgypYckmJz0o6\">Youtube<\/a>, avec en plus les probl\u00e8mes li\u00e9s aux Content ID automatis\u00e9s qui te strikent \u00e0 la troisi\u00e8me note d&rsquo;un morceau). Bref, rien de probant.<\/p>\n\n\n\n<p>Et l\u00e0, on a une plateforme qui permet (sur le papier) de mettre en ligne de fa\u00e7on assez simple du contenu, de l&rsquo;organiser, de faire des playlists, des podcasts et m\u00eame d&rsquo;avoir des radios automatis\u00e9es pour diffuser du contenu. Bref, du pain b\u00e9nit pour ce que le peuple des internets nous demandait.<\/p>\n\n\n\n<p>Alors vous allez me dire, c&rsquo;est bien beau tout \u00e7a, mais est-ce que \u00e7a tient ses promesses? Et est-ce que c&rsquo;est compliqu\u00e9 \u00e0 mettre en place?<\/p>\n\n\n\n<p>Taclons tout de suite la question de la mise en place:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D\u00e9j\u00e0, il faut un serveur d\u00e9di\u00e9 pour installer le truc (n&rsquo;esp\u00e9rez pas coller \u00e7a sur votre domaine web), avec un nom de domaine (ou de sous-domaine) et les redirections bien faites. N&rsquo;envisagez pas de l&rsquo;installer en local sur une VM pour faire vos tests, \u00e7a ne marchera pas.<\/li>\n\n\n\n<li>Apr\u00e8s, il faut quand m\u00eame un minimum de connaissance de la ligne de commande, parce que l&rsquo;installation est automatis\u00e9e, mais que les packages ne sont pas vraiment disponibles via une interface graphique et que les modules d&rsquo;administration de serveur genre Plesk foutent la merde dans l&rsquo;installation.<\/li>\n\n\n\n<li>Par contre, au del\u00e0 de \u00e7a, l&rsquo;installation se fait de fa\u00e7on plut\u00f4t fluide (une fois que tout est bien param\u00e9tr\u00e9). Sur un VPS sorti d&rsquo;usine, il m&rsquo;a fallu deux soir\u00e9es \u00e0 mi-temps pour tout d\u00e9ployer, et encore c&rsquo;est parce qu&rsquo;un des repositories de d\u00e9ploiement pour un des composants \u00e9tait en vrac la premi\u00e8re soir\u00e9e&#8230;\n<ul class=\"wp-block-list\"><\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Quant aux promesses, et bien je dois dire que \u00e7a me semble partir sur de bonnes bases:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L&rsquo;upload de fichier n&rsquo;est pas trop compliqu\u00e9 (une fois qu&rsquo;on a compris la m\u00e9canique interne du truc)<\/li>\n\n\n\n<li>La gestion des diff\u00e9rentes biblioth\u00e8ques\/playlists et autres radios est relativement claire<span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_1162_1('footnote_plugin_reference_1162_1_1');\" onkeypress=\"footnote_moveToReference_1162_1('footnote_plugin_reference_1162_1_1');\" ><sup id=\"footnote_plugin_tooltip_1162_1_1\" class=\"footnote_plugin_tooltip_text\">[1]<\/sup><\/a><span id=\"footnote_plugin_tooltip_text_1162_1_1\" class=\"footnote_tooltip\">relativement, hein: comprendre qu&rsquo;il faut d\u00e9cocher une case li\u00e9e aux API pour autoriser les utilisateurs non enregistr\u00e9s \u00e0 voir le contenu du serveur, c&rsquo;est pas fondamentalement&nbsp;&#x2026; <span class=\"footnote_tooltip_continue\"  onclick=\"footnote_moveToReference_1162_1('footnote_plugin_reference_1162_1_1');\">Continue reading<\/span><\/span><\/span><script type=\"text\/javascript\"> jQuery('#footnote_plugin_tooltip_1162_1_1').tooltip({ tip: '#footnote_plugin_tooltip_text_1162_1_1', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });<\/script><\/li>\n\n\n\n<li>Le rangement des pistes se fait bien&#8230; pour peu qu&rsquo;on ait correctement effectu\u00e9 l&rsquo;indexation de ses pistes. Si les tags ID3 sont en vrac, le tri se fera n&rsquo;importe comment, et s&rsquo;il n&rsquo;y en a pas, les pistes refuseront purement et simplement de se mettre en ligne.<\/li>\n<\/ul>\n\n\n\n<p>Bref, je trouve mon bonheur avec cette appli.<\/p>\n\n\n\n<p>Evidemment, tout n&rsquo;est pas rose. La mise \u00e0 jour des m\u00e9tadonn\u00e9es, par exemple, est fastidieuse car elle n\u00e9cessite de passer par l&rsquo;interface d&rsquo;administration \u00ab\u00a0arri\u00e8re\u00a0\u00bb<span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_1162_1('footnote_plugin_reference_1162_1_2');\" onkeypress=\"footnote_moveToReference_1162_1('footnote_plugin_reference_1162_1_2');\" ><sup id=\"footnote_plugin_tooltip_1162_1_2\" class=\"footnote_plugin_tooltip_text\">[2]<\/sup><\/a><span id=\"footnote_plugin_tooltip_text_1162_1_2\" class=\"footnote_tooltip\">Oui, parce qu&rsquo;il y a une interface d&rsquo;administration dans le site web, mais on ne peut que supprimer des \u00e9l\u00e9ments. Heureusement, on peut acc\u00e9der \u00e0 l&rsquo;interface technique en un&nbsp;&#x2026; <span class=\"footnote_tooltip_continue\"  onclick=\"footnote_moveToReference_1162_1('footnote_plugin_reference_1162_1_2');\">Continue reading<\/span><\/span><\/span><script type=\"text\/javascript\"> jQuery('#footnote_plugin_tooltip_1162_1_2').tooltip({ tip: '#footnote_plugin_tooltip_text_1162_1_2', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });<\/script> et de modifier les pistes une par une.<\/p>\n\n\n\n<p>On voudrait aussi un peu plus de flexibilit\u00e9 dans la cr\u00e9ation des radios, autoriser la diffusion de titres sans pour autant ouvrir les vannes de la biblioth\u00e8que<span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_1162_1('footnote_plugin_reference_1162_1_3');\" onkeypress=\"footnote_moveToReference_1162_1('footnote_plugin_reference_1162_1_3');\" ><sup id=\"footnote_plugin_tooltip_1162_1_3\" class=\"footnote_plugin_tooltip_text\">[3]<\/sup><\/a><span id=\"footnote_plugin_tooltip_text_1162_1_3\" class=\"footnote_tooltip\">c&rsquo;est peut-\u00eatre possible, je suis encore en train de d\u00e9couvrir le produit<\/span><\/span><script type=\"text\/javascript\"> jQuery('#footnote_plugin_tooltip_1162_1_3').tooltip({ tip: '#footnote_plugin_tooltip_text_1162_1_3', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });<\/script>. <\/p>\n\n\n\n<p>Mais c&rsquo;est quand m\u00eame tr\u00e8s cool de trouver le produit qu&rsquo;on aurait tu\u00e9 pour avoir aux d\u00e9buts de ZoC Radio.<\/p>\n\n\n\n<p>Par contre, la mauvaise nouvelle, c&rsquo;est que je risque de vouloir essayer de me mettre \u00e0 Python parce qu&rsquo;il y aurait la possibilit\u00e9 de d\u00e9velopper des plugins&#8230;<\/p>\n<div class=\"speaker-mute footnotes_reference_container\"> <div class=\"footnote_container_prepare\"><p><span role=\"button\" tabindex=\"0\" class=\"footnote_reference_container_label pointer\" onclick=\"footnote_expand_collapse_reference_container_1162_1();\">References<\/span><span role=\"button\" tabindex=\"0\" class=\"footnote_reference_container_collapse_button\" style=\"display: none;\" onclick=\"footnote_expand_collapse_reference_container_1162_1();\">[<a id=\"footnote_reference_container_collapse_button_1162_1\">+<\/a>]<\/span><\/p><\/div> <div id=\"footnote_references_container_1162_1\" style=\"\"><table class=\"footnotes_table footnote-reference-container\"><caption class=\"accessibility\">References<\/caption> <tbody> \r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_1162_1('footnote_plugin_tooltip_1162_1_1');\"><a id=\"footnote_plugin_reference_1162_1_1\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">&#8593;<\/span>1<\/a><\/th> <td class=\"footnote_plugin_text\">relativement, hein: comprendre qu&rsquo;il faut d\u00e9cocher une case li\u00e9e aux API pour autoriser les utilisateurs non enregistr\u00e9s \u00e0 voir le contenu du serveur, c&rsquo;est pas fondamentalement intuitif<\/td><\/tr>\r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_1162_1('footnote_plugin_tooltip_1162_1_2');\"><a id=\"footnote_plugin_reference_1162_1_2\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">&#8593;<\/span>2<\/a><\/th> <td class=\"footnote_plugin_text\">Oui, parce qu&rsquo;il y a une interface d&rsquo;administration dans le site web, mais on ne peut que supprimer des \u00e9l\u00e9ments. Heureusement, on peut acc\u00e9der \u00e0 l&rsquo;interface technique en un clic depuis les objets<\/td><\/tr>\r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_1162_1('footnote_plugin_tooltip_1162_1_3');\"><a id=\"footnote_plugin_reference_1162_1_3\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">&#8593;<\/span>3<\/a><\/th> <td class=\"footnote_plugin_text\">c&rsquo;est peut-\u00eatre possible, je suis encore en train de d\u00e9couvrir le produit<\/td><\/tr>\r\n\r\n <\/tbody> <\/table> <\/div><\/div><script type=\"text\/javascript\"> function footnote_expand_reference_container_1162_1() { jQuery('#footnote_references_container_1162_1').show(); jQuery('#footnote_reference_container_collapse_button_1162_1').text('\u2212'); } function footnote_collapse_reference_container_1162_1() { jQuery('#footnote_references_container_1162_1').hide(); jQuery('#footnote_reference_container_collapse_button_1162_1').text('+'); } function footnote_expand_collapse_reference_container_1162_1() { if (jQuery('#footnote_references_container_1162_1').is(':hidden')) { footnote_expand_reference_container_1162_1(); } else { footnote_collapse_reference_container_1162_1(); } } function footnote_moveToReference_1162_1(p_str_TargetID) { footnote_expand_reference_container_1162_1(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } } function footnote_moveToAnchor_1162_1(p_str_TargetID) { footnote_expand_reference_container_1162_1(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } }<\/script>","protected":false},"excerpt":{"rendered":"<p>Il y a 5 ans, le monde d\u00e9couvrait Mastodon. Et depuis quelques jours, le monde red\u00e9couvre Mastodon. Mais avec ZoC Radio, on avait l&rsquo;habitude de d\u00e9fricher les territoires encore presque vierges&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1164,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","activitypub_content_warning":"","activitypub_content_visibility":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[25,6],"tags":[],"class_list":["post-1162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bonne-et-moins-bonne-musique","category-vie-intewebz","entry"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/skro.hellabeth.com\/wp-content\/uploads\/2022\/11\/whale-headphone.png","jetpack_shortlink":"https:\/\/wp.me\/p4QCwI-iK","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=\/wp\/v2\/posts\/1162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1162"}],"version-history":[{"count":3,"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=\/wp\/v2\/posts\/1162\/revisions"}],"predecessor-version":[{"id":1166,"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=\/wp\/v2\/posts\/1162\/revisions\/1166"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=\/wp\/v2\/media\/1164"}],"wp:attachment":[{"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skro.hellabeth.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}