{"id":51,"date":"2016-01-04T17:41:09","date_gmt":"2016-01-04T16:41:09","guid":{"rendered":"https:\/\/blog.veldrin.fr\/?p=51"},"modified":"2021-11-18T18:07:48","modified_gmt":"2021-11-18T17:07:48","slug":"mumble-viewer-ou-la-chasse-a-la-licorne","status":"publish","type":"post","link":"https:\/\/blog.veldrin.fr\/?p=51","title":{"rendered":"Mumble Viewer ou la chasse \u00e0 la licorne !"},"content":{"rendered":"<p>Il \u00e9tait une fois une interface pour voir les serveurs Mumble, elle fonctionnait \u00e0 merveille sur Debian 6 (Ice 3.3.1-12 \/ php 5.3.3-7) puis la technologie avan\u00e7ant les programmes \u00e9volu\u00e8rent et la beaut\u00e9 disparut.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-427 alignnone\" src=\"https:\/\/blog.veldrin.fr\/wp-content\/uploads\/2016\/01\/mumble.png\" alt=\"mumble\" width=\"133\" height=\"142\" \/><\/p>\n<p><!--more--><\/p>\n<h1>A la recherche de l&rsquo;animal l\u00e9gendaire<\/h1>\n<p>Aujourd&rsquo;hui sur Debian 8 (Ice 3.5.1-6 \/ php 5.6.14) le code ne veut plus fonctionner.<\/p>\n<p>L&rsquo;erreur tra\u00eetresse \u00e9tait bien pr\u00e9sente :<\/p>\n<blockquote><p>PHP Fatal error: Call to undefined function ice_loadprofile()<\/p><\/blockquote>\n<h2>Plusieurs sites de recherche plus loin<\/h2>\n<p>Une <a href=\"http:\/\/wiki.mumble.info\/wiki\/Install_Ice_3.4_on_CentOS_5\">solution<\/a> prenait forme.<\/p>\n<blockquote><p>remove<\/p>\n<p><span style=\"color: #3366ff;\">Ice_loadProfile();<\/span><\/p>\n<p>replace with<\/p>\n<p><span style=\"color: #3366ff;\">require &lsquo;Ice.php&rsquo;;<\/span><br \/>\n<span style=\"color: #3366ff;\"> require &lsquo;Murmur.php&rsquo;;<\/span><br \/>\n<span style=\"color: #3366ff;\"> $ICE = Ice_initialize();<\/span><\/p><\/blockquote>\n<p>Il fallait donc corriger le code de MumbleViewer, le fichier \u00ab\u00a0<span style=\"color: #3366ff;\">include\/mumbleviewer.inc<\/span>\u00a0\u00bb \u00e9tait notre cible !<\/p>\n<p>Mais ceci ne suffisait pas et donnait une erreur :<\/p>\n<blockquote><p>PHP Fatal error: require(): Failed opening required &lsquo;Murmur.php&rsquo; (include_path=&rsquo;\/usr\/share\/Ice-3.5.1\/php\/lib\/&rsquo;)<\/p><\/blockquote>\n<h2>La traque continue<\/h2>\n<p>Mais oui, il \u00e9tait aussi question de :<\/p>\n<blockquote>\n<pre>slice2php Murmur.ice<\/pre>\n<\/blockquote>\n<p>Quel langage \u00e9trange, recherches \u00e0 l\u2019appui je retrouvais le \u00ab\u00a0package\u00a0\u00bb associ\u00e9 \u00e0 ce \u00ab\u00a0slice2php\u00a0\u00bb<br \/>\n( <span style=\"color: #3366ff;\"><em>ice35-translators<\/em><\/span> ). Une fois install\u00e9 la commande \u00e9tait lanc\u00e9e&#8230; et&#8230; voil\u00e0 quoi. Encore.<\/p>\n<blockquote><p>slice2php \/usr\/share\/slice\/Murmur.ice<br \/>\n\/usr\/share\/slice\/Murmur.ice:9: error: Can&rsquo;t open include file \u00ab\u00a0Ice\/SliceChecksumDict.ice\u00a0\u00bb<br \/>\n#include &lt;Ice\/SliceChecksumDict.ice&gt;<br \/>\n1 error in preprocessor.<\/p><\/blockquote>\n<p>Recherche faite de ce \u00ab\u00a0SliceChecksumDict.ice\u00a0\u00bb, il \u00e9tait pr\u00e9sent dans \u00ab\u00a0\/usr\/share\/Ice-3.5.1\/slice\/\u00a0\u00bb (sous le dossier Ice bien s\u00fbr ^^), je copiais donc le fichier Murmur.ice dans le dossier pour relancer la commande&#8230; Que nenni, le fourbe ne voulait pas reconna\u00eetre ce fichier qui \u00e9tait l\u00e0\u00e0\u00e0\u00e0 juste \u00e0 cot\u00e9 de lui !<\/p>\n<h2>La b\u00eate n&rsquo;\u00e9tait plus loin !<\/h2>\n<p>Une <a href=\"http:\/\/sourceforge.net\/p\/mumble\/bugs\/621\/#3198\">information<\/a> visible que pour un \u0153il averti attirait mon attention. \u00ab\u00a0-I\u00a0\u00bb&#8230;<\/p>\n<blockquote><p>slice2php &#8211;help<br \/>\nUsage: slice2php [options] slice-files&#8230;<br \/>\nOptions:<br \/>\n[&#8230;]<br \/>\n-I<span style=\"color: #ff0000;\">DIR<\/span> <span style=\"color: #ff0000;\">Put DIR in the include file search path.<\/span><br \/>\n[&#8230;]<\/p><\/blockquote>\n<p>Ouiii, l\u00e0 sous mes yeux, la commande prenait forme :<\/p>\n<blockquote><p><span style=\"color: #3366ff;\">slice2php -I\/usr\/share\/Ice-3.5.1\/slice\/ \/usr\/share\/slice\/Murmur.ice<\/span><\/p><\/blockquote>\n<p>Aucune r\u00e9ponse, mais un fichier venait d&rsquo;appara\u00eetre, dans le dossier o\u00f9 je me trouvais, \u00ab\u00a0Murmur.php\u00a0\u00bb : Eur\u00eaka !<\/p>\n<p>Une <span style=\"color: #3366ff;\">copie du fichier<\/span> dans le dossier magique \u00ab\u00a0<span style=\"color: #3366ff;\">\/usr\/share\/Ice-3.5.1\/php\/lib<\/span>\u00a0\u00bb et maintenant tout \u00e9tait l\u00e0 !!<\/p>\n<h2>Petite v\u00e9rification<\/h2>\n<p>Comme pr\u00e9cis\u00e9 <a href=\"http:\/\/wiki.mumble.info\/wiki\/Ice#How_to_Setup_Ice_for_PHP_with_Apache_on_Debian.2FUbuntu\">ici<\/a>, il faut que Mumble soit disponible en \u00e9coute aux requ\u00eates slice.<\/p>\n<pre>vim \/etc\/mumble-server.ini\r\nOn commente \"dbus\"<\/pre>\n<blockquote>\n<pre>#dbus=system<\/pre>\n<\/blockquote>\n<pre>On d\u00e9-commente \"ice\"<\/pre>\n<blockquote>\n<pre>ice=\"tcp -h 127.0.0.1 -p 6502\"<\/pre>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<hr \/>\n<h2>R\u00e9capitulatif script\u00e9<\/h2>\n<p>Voici le code pour les flemmards comme moi, afin de tout refaire en un clin d\u2019\u0153il.<br \/>\nIl sera peut \u00eatre n\u00e9cessaire de remplacer \u00ab\u00a0ice35\u00a0\u00bb par \u00ab\u00a0ice34\u00a0\u00bb suivant la version de Debian, et donc de changer le dossier. (NB : la modification de \u00ab\u00a0<span style=\"color: #3366ff;\">include\/mumbleviewer.inc<\/span>\u00a0\u00bb n&rsquo;est pas int\u00e9gr\u00e9)<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\"># Ajout des packages Slices n\u00e9cessaires\r\napt-get -q -y install ice35-slice php-zeroc-ice ice35-translators\r\n\r\n# Correction de la config mumble-server par d\u00e9faut et suppression du commentaire devant le param\u00e8tre Ice\r\nsed -i 's\/^#\\(ice=.*\\)\/\\1\/g' \/etc\/mumble-server.ini\r\n\r\n# Ajout des deux lignes dans le fichier de param\u00e8tres Ice pour Php (le fichier peut diff\u00e9rer suivant la version)\r\ncat &lt;&lt;EOF&gt;&gt; \/etc\/php5\/mods-available\/IcePHP.ini\r\nice.slice=\/usr\/share\/slice\/Murmur.ice\r\ninclude_path = \"\/usr\/share\/Ice-3.5.1\/php\/lib\/\"\r\nEOF\r\n\r\n# On red\u00e9marre Apache qui va cr\u00e9er le fichier Murmur.ice et on red\u00e9marre mumble qui va \u00e9couter les requ\u00eates slices\r\napache2ctl restart\r\nservice mumble-server stop\r\nservice mumble-server start\r\n\r\n# On transforme notre Murmure.ice en Murmure.php puis on le met \u00e0 sa place !\r\nslice2php -I\/usr\/share\/Ice-3.5.1\/slice\/ \/usr\/share\/slice\/Murmur.ice\r\nmv Murmur.php \/usr\/share\/Ice-3.5.1\/php\/lib\/<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il \u00e9tait une fois une interface pour voir les serveurs Mumble, elle fonctionnait \u00e0 merveille sur Debian 6 (Ice 3.3.1-12 \/ php 5.3.3-7) puis la technologie avan\u00e7ant les programmes \u00e9volu\u00e8rent et la beaut\u00e9 disparut.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[9,11,12,5,13,6],"class_list":["post-51","post","type-post","status-publish","format-standard","hentry","category-linuxdebian8","tag-debian-8","tag-ice","tag-jessie","tag-linux","tag-mumble","tag-php"],"_links":{"self":[{"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=\/wp\/v2\/posts\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=51"}],"version-history":[{"count":2,"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=\/wp\/v2\/posts\/51\/revisions"}],"predecessor-version":[{"id":91,"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=\/wp\/v2\/posts\/51\/revisions\/91"}],"wp:attachment":[{"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.veldrin.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}