# articles

feed_id: https://blog.suumitsu.eu/?p=1399
title: HTML5: petit test de compression vidéo
uri: HTML5-petit-test-de-compression-vidéo
url: https://blog.suumitsu.eu/html5-petit-test-de-compression-video/
content:
<p>Pour le prochain standard vidéo NETVC, l&rsquo;un des principaux candidats proposés à l&rsquo;IETF est le format AV1, développé par le consortium AOMedia. </p>



<p>AV1 profite de nombreuses avancées du VP10 (Google), Daala (Xiph, Mozilla) et Thor (Cisco). Parmi ses contributeurs on peut citer quelques poids lourds du multimédia en ligne tels que Facebook, Microsoft, Netflix, Amazon Video, ainsi que des fabricants de puces tels qu&rsquo;Intel, AMD, ARM, Broadcom, &#8230;  Last but not least: l&rsquo;association VideoLAN, développant notamment le lecteur multimédia VLC (et dont je recommande <a href="http://www.jbkempf.com/blog/post/2018/AV1-open-source-tools">cet article par Jean-Baptiste Kempf,</a> président de l&rsquo;association)</p>



<p>AV1 fait son petit bonhomme de chemin, l&rsquo;implémentation principale version 1.0 utilisant désormais le bitstream fixé, et le développement se focalise à présent sur l&rsquo;optimisation de l&rsquo;encodage/décodage logiciel, tandis que les premières puces de décodage matériel pourraient sortir en 2019.</p>



<p>Les premiers tests objectifs et subjectifs placent AV1 directement face (ou au dessus) à son concurrent à brevets HEVC, et distance les communs VP9 et H.264 AVC.</p>



<p>Côté navigateurs, AV1 peut être lu avec Chrome 70+ ou Firefox 64+, et VLC à partir de 3.0.5.</p>



<p>Bref, je voulais jeter un coup d’œil à ses performances.</p>



<h2>Protocole technique</h2>



<p>Pour ce test subjectif à la louche, j&rsquo;ai utilisé:</p>



<p>La vidéo « <a href="https://www.youtube.com/watch?v=4pSzhZ76GdM">Sundance in 4k (Ultra HD)</a>« , récupérée depuis YouTube selon la meilleure qualité disponible (le code 313: vidéo seule au format VP9 résolution 3840&#215;2160 pixels).</p>



<p>De cette source, j&rsquo;en extrais un dixième de seconde à la position 20s avec ffmpeg, en utilisant en format de sortie la compression sans pertes ffv1:</p>



<pre class="wp-block-code"><code>ffmpeg -ss 00:00:20 -i Sundance\ in\ 4k\ \(Ultra\ HD\)-4pSzhZ76GdM.webm -t 0.1 -c:v ffv1 zsource.mkv</code></pre>



<p>Cet extrait, ffmpeg en compose 3 frames. Je sélectionne la 2e frame. (ps: pour toutes les images ci-après j&rsquo;utilise la compression sans pertes PNG)</p>



<figure class="wp-block-image"><a href="media/530ff46a.zz0001-source.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/zz0001-source.png"><img src="media/a936c536.zz0001-source-1024x576.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/zz0001-source-1024x576.png" alt="" class="wp-image-1406" srcset="https://blog.suumitsu.eu/wp-content/uploads/2018/12/zz0001-source-1024x576.png 1024w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/zz0001-source-150x84.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/zz0001-source-300x169.png 300w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Cette scène me semble pas mal pour mon comparatif, car elle associe une grande variété de nuances de couleurs, et la caméra effectue un mouvement vers la gauche. Je cible une zone en particulier avec Imagemagick:</p>



<pre class="wp-block-code"><code>convert zz0002.png -crop 700x500+1200+1200  z.png</code></pre>



<figure class="wp-block-image"><a href="media/0ee95341.z1-source.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/z1-source.png"><img src="media/0ee95341.z1-source.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/z1-source.png" alt="" class="wp-image-1405" srcset="https://blog.suumitsu.eu/wp-content/uploads/2018/12/z1-source.png 700w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/z1-source-150x107.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/z1-source-300x214.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></figure>



<p>Cette zone montre en premier plan des branches d&rsquo;arbres que je prédis très difficiles à compresser, en second plan des cimes d&rsquo;arbres aux couleurs variées, et un arrière plan plus flou en dégradés de couleurs.</p>



<p>J&rsquo;effectue un premier test avec les différents codecs, le but étant de parvenir à un poids de fichier très proche. J&rsquo;adapte alors le paramètre du bitrate jusqu&rsquo;à obtenir des poids assez homogènes.</p>



<p><strong>Si j&rsquo;y suis parvenu avec tous les autres, x265 m&rsquo;a posé soucis: quel que soit le bitrate exigé, le poids de fichier demeure 93.7 ko (contre ~45 ko pour mon étalon). J&rsquo;inclurais son résultat tout à la fin à titre d&rsquo;info, mais il n&rsquo;est pas comparable aux autres.</strong></p>



<h2>Theora · libtheora</h2>



<p>Premier sur le ring, le premier format sans brevets supporté par Firefox pour le HTML5, développé par Xiph.</p>



<pre class="wp-block-code"><code>ffmpeg -i zsource.mkv -b:v 100k -c:v libtheora z_theora.mkv</code></pre>



<figure class="wp-block-image"><a href="media/4eeead65.theora.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/theora.png"><img src="media/4eeead65.theora.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/theora.png" alt="" class="wp-image-1407" srcset="https://blog.suumitsu.eu/wp-content/uploads/2018/12/theora.png 700w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/theora-150x107.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/theora-300x214.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></figure>



<h2>H.264 AVC · libx264</h2>



<p>Face au toujours immensément populaire H.264, du MPEG-LA ?</p>



<pre class="wp-block-code"><code>ffmpeg -i zsource.mkv -b:v 750k -c:v libx264 z_x264.mkv</code></pre>



<figure class="wp-block-image"><a href="media/e7cedf71.x264.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/x264.png"><img src="media/e7cedf71.x264.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/x264.png" alt="" class="wp-image-1408" srcset="https://blog.suumitsu.eu/wp-content/uploads/2018/12/x264.png 700w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/x264-150x107.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/x264-300x214.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></figure>



<h2>VP8 · libvpx</h2>



<p>Le second format sans brevets VP8, développé par On2/Google</p>



<pre class="wp-block-code"><code>ffmpeg -i zsource.mkv -b:v 100k -c:v libvpx z_vp8.mkv</code></pre>



<figure class="wp-block-image"><a href="media/cfd78467.vp8.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp8.png"><img src="media/cfd78467.vp8.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp8.png" alt="" class="wp-image-1409" srcset="https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp8.png 700w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp8-150x107.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp8-300x214.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></figure>



<h2>VP9 · libvpx-vp9</h2>



<p>Son successeur VP9, développé par Google</p>



<pre class="wp-block-code"><code>ffmpeg -i zsource.mkv -b:v 1480k -c:v libvpx-vp9 z_vp9.mkv</code></pre>



<figure class="wp-block-image"><a href="media/4aba2f21.vp9.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9.png"><img src="media/4aba2f21.vp9.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9.png" alt="" class="wp-image-1410" srcset="https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9.png 700w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9-150x107.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9-300x214.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></figure>



<h2>AV1 · libaom-av1</h2>



<p>Et AV1. J&rsquo;insiste: l&rsquo;encodeur est loin d&rsquo;être optimisé, il a fallu près de 5 minutes de traitement là où les autres codecs ont bouclé en moins d&rsquo;une seconde.</p>



<pre class="wp-block-code"><code>ffmpeg -i zsource.mkv -c:v libaom-av1 -b:v 1460k -strict experimental -threads 8 z_av1.mkv</code></pre>



<figure class="wp-block-image"><a href="media/c52aae15.av1.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1.png"><img src="media/c52aae15.av1.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1.png" alt="" class="wp-image-1411" srcset="https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1.png 700w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1-150x107.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1-300x214.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></figure>



<p>Et donc <a href="media/f6b0796c.x265-non-comparable.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/x265-non-comparable.png">HEVC</a> qui a eu droit au double bitrate parce que réticent à mes paramètres&#8230;</p>



<pre class="wp-block-code"><code>ffmpeg -i zsource.mkv -b:v 60k -c:v libx265 z_x265.mkv</code></pre>



<h2>VP9 vs AV1</h2>



<ul class="wp-block-gallery columns-1 is-cropped"><li class="blocks-gallery-item"><figure><a href="media/4aba2f21.vp9.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9.png"><img src="media/4aba2f21.vp9.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9.png" alt="" data-id="1410" data-link="https://blog.suumitsu.eu/?attachment_id=1410" class="wp-image-1410" srcset="https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9.png 700w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9-150x107.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/vp9-300x214.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a><figcaption>VP9</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="media/c52aae15.av1.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1.png"><img src="media/c52aae15.av1.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1.png" alt="" data-id="1411" data-link="https://blog.suumitsu.eu/?attachment_id=1411" class="wp-image-1411" srcset="https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1.png 700w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1-150x107.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2018/12/av1-300x214.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a><figcaption>AV1</figcaption></figure></li></ul>



<p>Faut vraiment y aller à la loupe, mais AV1 fait légèrement mieux que VP9 <img src="media/db34b187.1f642.png" data-original-source="https://blog.suumitsu.eu/wp-content/plugins/wp-local-emoji/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>Espérons que les codecs AV1 seront sensiblement optimisés !</p>



<h2>Fichiers encodés</h2>



<div class="wp-block-file"><a href="https://blog.suumitsu.eu/wp-content/uploads/2018/12/test-compression-vidéo.zip">test compression vidéo</a><a href="https://blog.suumitsu.eu/wp-content/uploads/2018/12/test-compression-vidéo.zip" class="wp-block-file__button" download>Télécharger</a></div>


feed_id: https://blog.suumitsu.eu/?p=1350
title: (fini!) Appel: recherche de fichiers rares
uri: (fini-)-Appel-recherche-de-fichiers-rares
url: https://blog.suumitsu.eu/appel-recherche-de-fichiers-rares/
content:
<p>update 17 octobre 2018:  j&rsquo;ai pu récupérer tous les fichiers manquants!</p>
<hr />
<p>Peut-être que d&rsquo;ancien·nes habitué·es de Fansub Streaming liront ceci, alors je lance une bouteille à la mer..</p>
<p>Alors voilà: en voulant récupérer mes archives depuis hubiC, j&rsquo;ai droit à une vilaine surprise: de nombreux fichiers retournent une erreur « Object Not Found » ou « IO Exception in Server FileStorage Communication ».</p>
<p>Alors oui hubiC repose sur des systèmes de fichiers poussés dans leurs derniers retranchements, mais voilà après plus d&rsquo;un mois ma boucle rclone n&rsquo;a pu récupérer que de rares fichiers, et tourne en vain depuis. Le support hubiC ? Mailé il y a 15 jours, pas de réponse. Bref.</p>
<p>J&rsquo;ai pu récupérer la plupart des fichiers parce qu&rsquo;ils étaient encore trouvable par BitTorrent, XDCC, HTTP. Mais il m&rsquo;en reste pour 7,2 Go de fichiers coincés sur hubiC et introuvables, et ça me crève le cœur car ils ont une valeur nostalgique/sentimentale.</p>
<p><strong>Si vous avez un ou plusieurs de ces fichiers dans vos archives, merci <a href="/contact/">de me contacter au plus vite</a> par tous moyens !</strong></p>
<ul>
<li><del><strong>Ningyo no Mori</strong> (fansubbé par Bakuretsu Anime)</del>
<ul>
<li><del>[baku]Ningyo no Mori 07 [XviD] [4EB8B222].ogm</del></li>
</ul>
</li>
</ul>
<p>De plus, si comme moi vous aviez religieusement téléchargé les émissions de Nolife depuis Noco en utilisant youtube-dl, voilà ce qui me manque <img src="media/0790e75f.1f641.png" data-original-source="https://blog.suumitsu.eu/wp-content/plugins/wp-local-emoji/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li style="list-style-type: none;"></li>
</ul>
</li>
</ul>
<p>Même si vous n&rsquo;avez qu&rsquo;un seul de ces fichiers, foncez me contacter <img src="media/df6d5d70.1f622.png" data-original-source="https://blog.suumitsu.eu/wp-content/plugins/wp-local-emoji/72x72/1f622.png" alt="😢" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Update: récupéré de hubiC</p>
<ul>
<li><del><strong>PIXA</strong></del>
<ul>
<li><del>PIXA_3_-_Naruto_-_Clash_of_Ninja_Revolution_2-5865.mp4</del></li>
</ul>
</li>
<li><strong>Les Oubliés de la Playhistoire</strong>
<ul>
<li><del>Les_Oublies_de_la_Playhistoire_28_-_Swordquest-5576.mp4</del></li>
<li><del>Les_Oublies_de_la_Playhistoire_29_-_X_Game_Boy-5577.mp4</del></li>
<li><del>Les_Oublies_de_la_Playhistoire_49_-_Silent_Debuggers-5597.mp4</del></li>
<li><del>Les_Oubli_s_de_la_Playhistoire_115_-_Muscle_March-21198.mp4</del></li>
<li><del>Les_Oubli_s_de_la_Playhistoire_117_-_I_Robot_arcade-21459.mp4</del></li>
</ul>
</li>
</ul>
<p>Update: merci à Bouzig !</p>
<ul>
<li><del><strong>Les Oubliés de la Playhistoire</strong></del>
<ul>
<li><del>Les_Oubli_s_de_la_Playhistoire_141_-_X-Po_2089_Cyber_Revolution-33522.mp4</del></li>
</ul>
</li>
<li><del><strong>Big Bang Hunter</strong></del>
<ul>
<li><del>Big_Bang_Hunter_16_-_Bruno_SMADJA_-_Mobile_Film_Festival-24424.mp4</del></li>
</ul>
</li>
<li><del><strong>Crunch Time</strong></del>
<ul>
<li><del>Crunch_Time_45_-_Chef_de_projet-35960.mp4</del></li>
</ul>
</li>
<li><del><strong>Nihongo ga Dekimasu ka</strong></del>
<ul>
<li><del>Nihongo_ga_dekimasu_ka_50_-_E-5473.mp4</del></li>
<li><del>Nihongo_ga_dekimasu_ka_51_-_O-5474.mp4</del></li>
</ul>
</li>
<li><del><strong>Oscillations</strong></del>
<ul>
<li><del>Oscillations_7_-_La_superposition_rythmique_dans_Out_Run-5634.mp4</del></li>
<li><del>Oscillations_123_-_Portal-5612.mp4</del></li>
</ul>
</li>
</ul>
<p>Update:  Merci à 0xF4F et aux seeders !</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li><del><strong>Chaud Time</strong></del>
<ul>
<li><del>Chaud_Time_28_-_The_Yakyuu_Ken_Special_-_Konya_wa_12-kai_ikusa-2192.mp4</del></li>
</ul>
</li>
<li><del><strong>Hidden Palace</strong></del>
<ul>
<li><del>Hidden_Palace_17_-_HIP_Tanaka-4325.mp4</del></li>
<li><del>Hidden_Palace_24_-_Alex_Kidd-4332.mp4</del></li>
<li><del>Hidden_Palace_38_-_Arthur_fant_mes_et_gobelins-4344.mp4</del></li>
<li><del>Hidden_Palace_52_-_Ralf_Jones_et_Clark_Still-4359.mp4</del></li>
</ul>
</li>
<li><del><strong>La Minute du Geek</strong></del>
<ul>
<li><del>La_Minute_du_geek_-_Hyper_edition_311_-_Tales_from_the_Crypt_Les_Contes_de_la_Crypte-46001.mp4</del></li>
<li><del>La_minute_du_geek_25_-_Made_in_France-4813.mp4</del></li>
<li><del>La_minute_du_geek_56_-_Comment_Donjons_Dragons_a_chang_la_face_du_rock-4844.mp4</del></li>
<li><del>La_minute_du_geek_72_-_McGuffin_et_Mary_Sue-4859.mp4</del></li>
<li><del>La_minute_du_geek_91_-_Star_Trek_2_3-4876.mp4</del></li>
<li><del>La_minute_du_geek_118_-_La_mythologie_gyptienne_1_2-4903.mp4</del></li>
<li><del>La_minute_du_geek_218_-_L_oncle_Picsou-11892.mp4</del></li>
<li><del>La_minute_du_geek_243_-_Deadpool-22810.mp4</del></li>
</ul>
</li>
<li><del><strong>Retro Magic</strong></del>
<ul>
<li><del>Retro_Magic_11_-_Freespace-6233.mp4</del></li>
<li><del>Retro_Magic_13_-_Ecco_the_Dolphin-6235.mp4</del></li>
<li><del>Retro_Magic_83_-_Ultima_-_la_saga_principale-6305.mp4</del></li>
<li><del>Retro_Magic_105_-_Les_jeux_d_aventure_Dragon_Ball-6326.mp4</del></li>
<li><del>Retro_Magic_122_-_Les_CityBuilders_antiques_partie_2_-_Pharaon_Zeus_et_Empereur-6343.mp4</del></li>
<li><del>Retro_Magic_138_-_MegaRace-6359.mp4</del></li>
<li><del>Retro_Magic_155_-_Majyu_O-6376.mp4</del></li>
<li><del>Retro_Magic_185_-_Metroid-6125.mp4</del></li>
<li><del>Retro_Magic_192_-_Kunio-kun_et_Renegade-6132.mp4</del></li>
<li><del>Retro_Magic_233_-_Ganbare_Goemon_Mystical_Ninja-6172.mp4</del></li>
<li><del>Retro_Magic_242_-_Cinemaware_2_2-6181.mp4</del></li>
<li><del>Retro_Magic_266_-_WarCraft-6205.mp4</del></li>
<li><del>Retro_Magic_267_-_Les_premiers_FPS-6206.mp4</del></li>
<li><del>Retro_Magic_283_-_SEGA_Rally-6223.mp4</del></li>
<li><del>Retro_Magic_312_-_Solomon_s_Key-12087.mp4</del></li>
<li><del>Retro_Magic_326_-_General_Chaos-14917.mp4</del></li>
<li><del>Retro_Magic_365_-_Speed_Devils-22936.mp4</del></li>
<li><del>Retro_Magic_383_-_La_trilogie_Midwinter-31050.mp4</del></li>
<li><del>Retro_Magic_390_-_Little_Nemo-32091.mp4</del></li>
<li><del>Retro_Magic_437_-_Tobal-41372.mp4</del></li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Update: merci aux anonymes !</p>
<ul>
<li><del><strong>Inuyasha</strong> (fansubbé par Bakuretsu Anime)</del>
<ul>
<li><del>Inuyasha 002.ogm</del></li>
<li><del>Inuyasha 018.avi</del></li>
</ul>
</li>
<li><del><strong>Inuyasha</strong> (fansubbé par Anime-Sactuary)</del>
<ul>
<li><del>Inuyasha 056.ogm</del></li>
<li><del>Inuyasha 058.ogm</del></li>
</ul>
</li>
<li><del><strong>Inuyasha</strong> (fansubbé par Porcorosso34 et Louane, encodage par moi-même)</del>
<ul>
<li><del>[FS] Inuyasha 117.avi</del></li>
<li><del>[FS] Inuyasha 144.avi</del></li>
<li><del>[FS] Inuyasha 156.avi</del></li>
<li><del>[FS] Inuyasha 166-167.avi</del></li>
</ul>
</li>
</ul>


feed_id: https://blog.suumitsu.eu/?p=1335
title: Désactiver le chiffrement Android
uri: Désactiver-le-chiffrement-Android
url: https://blog.suumitsu.eu/desactiver-le-chiffrement-android/
content:
<p>Contexte: en tentant de passer de LineageOS à LineageOS+microG, je me suis foiré·e: le système a juste été wipé et les GApps étaient encore là (Open GApps-Pico). Mon téléphone est <strong>débloqué, rooté, ADB activé, et utilise TWRP comme recovery</strong> (bref, il a déjà subi mille outrages depuis sa sortie d&rsquo;usine il y a moins de 2 mois, et cet article peut ne pas du tout être utile à votre situation).</p>
<p>Or à la config les GApps sont un peu traîtres, et peuvent utiliser votre schéma/code de déverrouillage comme schéma/code de <strong>chiffrement</strong>. C&rsquo;est pas vraiment ce que je voulais. Et après quand j&rsquo;ai enfin pu proprement effacer tout le système et installer LineageOS+microG pour réduire au maximum les dépendances à Google, bah le chiffrement est encore là et ne peut être désactivé dans Paramètres &gt; Sécurité.</p>
<h2><strong>Étape 1: désactiver tout schéma/code de verrouillage</strong></h2>
<p><strong><em>Je ne l&rsquo;avais pas fait</em></strong> et du coup après retrait du chiffrement le système perd la correspondance et refuse de déverrouiller votre téléphone; dans ce cas j&rsquo;ai pu supprimer « à la dure » le verrouillage en démarrant sur TWRP et supprimant les fichiers suivants dans /data/system:</p>
<ul>
<li>gatekeeper.password.key</li>
<li>gatekeeper.pattern.key</li>
<li>locksettings.db*</li>
</ul>
<p><a href="https://www.howtogeek.com/240657/how-to-fix-pin-errors-after-restoring-from-twrp-android-backups/">Source de l&rsquo;astuce</a></p>
<p>Donc vaut mieux proprement retirer tout code de verrouillage avant de passer à la suite:  Paramètres &gt; Sécurité &gt; « aucun »</p>
<h2><strong>Étape 2: faire une sauvegarde</strong></h2>
<p>J&rsquo;ai redémarré le téléphone sur le recovery TWRP, <strong>entré le code de déchiffrement</strong> et fait un backup des partitions « system » et « data » vers la carte MicroSD (bien choisir la destination de sauvegarde « sdcard », pas internal storage). Bah oui j&rsquo;ai vraiment pas envie de devoir réinstaller mon système et toutes les apps, tout reconfigurer etc. TWRP fait une copie « à la dd » donc ça peut mettre quelques minutes.</p>
<h2><strong>Étape 3: supprimer la partition chiffrée</strong></h2>
<p>(<a href="https://android.stackexchange.com/a/156806">source de l&rsquo;astuce</a>)</p>
<p>J&rsquo;ai redémarré le téléphone sur le recovery TWRP, mais <strong>sans entrer le code de déchiffrement</strong> (appuyer sur « cancel » à la demande du code de déchiffrement). Ainsi TWRP travaille sur les partitions principales, et non les volumes chiffrés LUKS-dmcrypt.</p>
<p>Ensuite:  Wipe &gt; Advanced, cocher « data », et procéder à la suppression de la partition.</p>
<p>Redémarrer le téléphone, sur le recovery TWRP.</p>
<h2><strong>Étape 4: restaurer la sauvegarde</strong></h2>
<p>Déjà bonne nouvelle: TWRP ne demande plus de code de déchiffrement, confirmant que l&rsquo;en-tête LUKS-dmcrypt n&rsquo;est plus présent. Ni aucune data.</p>
<p>Aller dans Restore, sélectionner la sauvegarde précédemment faite sur la carte MicroSD, et patienter les quelques minutes nécessaires à la restauration de partition, redémarrer, et voilà: plus de chiffrement, aucune perte de données <img src="media/db34b187.1f642.png" data-original-source="https://blog.suumitsu.eu/wp-content/plugins/wp-local-emoji/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>


feed_id: https://blog.suumitsu.eu/?p=1327
title: Régimes, économies et gouvernements du futur
uri: Régimes-économies-et-gouvernements-du-futur
url: https://blog.suumitsu.eu/regimes-economies-et-gouvernements-du-futur/
content:
<p>L&rsquo;une des réponses de Stephen Hawking sur son <a href="https://www.reddit.com/r/science/comments/3nyn5i/science_ama_series_stephen_hawking_ama_answers/cvsdmkv/">AMA Reddit d&rsquo;il y a 2 ans</a> qui me travaille beaucoup dernièrement est celle-ci:</p>
<blockquote><p>If machines produce everything we need, the outcome will depend on how things are distributed. Everyone can enjoy a life of luxurious leisure if the machine-produced wealth is shared, or most people can end up miserably poor if the machine-owners successfully lobby against wealth redistribution. So far, the trend seems to be toward the second option, with technology driving ever-increasing inequality.</p></blockquote>
<h3>La technologie</h3>
<p>L&rsquo;année 2017 touchera bientôt à sa fin, et je crois pouvoir dire que le premier mot de sa réponse est obsolète: ce n&rsquo;est plus « if », c&rsquo;est « when ».</p>
<p>Ce questionnement s&rsquo;est ravivé quand j&rsquo;ai commencé à regarder l&rsquo;émission <a href="https://noco.tv/famille/346/nolife/la-faute-a-l-algo">La Faute à L&rsquo;Algo</a>, diffusée par la chaine Nolife. Notamment son épisode 8, sur l&rsquo;évolution du travail.</p>
<p>Parallèlement, il ne se passe pas une semaine sans qu&rsquo;un industriel n&rsquo;annonce une « percée » tantôt sur les voitures sans chauffeur, tantôt sur la livraison par drone, tantôt sur la vidéosurveillance à identification comportementale, tantôt sur la capacité d&rsquo;un algorithme à surpasser les meilleurs joueurs humains sur les jeux (vidéo et non) les plus complexes.</p>
<p>Les progrès de l&rsquo;apprentissage machine sont exponentiels. Algorithmes déjà capables de <a href="http://www.numerama.com/tech/292371-vincent-une-ia-capable-de-transformer-un-simple-dessin-en-tableau-de-van-gogh-ou-picasso.html">créer de l&rsquo;art</a> dans un style « façon Van Gogh » à partir d&rsquo;un gribouillis, déjà capables d&rsquo;<a href="http://www.numerama.com/tech/298527-google-facilite-lidentification-de-vos-animaux-de-compagnie-sur-google-photos.html">identifier vos animaux de compagnie</a>, &#8230; L&rsquo;évolution est si rapide que la plasticité cérébrale humaine est insuffisante pour <em>imaginer aujourd&rsquo;hui</em> ce qui sera possible dès 2018.</p>
<p>Prenez <em>Le 5e élément</em>, le film de Luc Besson. Le fait qu&rsquo;en 2263, Korben Dallas conduise <strong>manuellement</strong> un <strong>taxi</strong> est déjà absurde, fut-il aérien, à peine 20 ans après la sortie de ce film quand Uber et consorts disruptent le système du taxi, et que des premiers véhicules <em>roulent</em> sans intervention humaine.</p>
<p>Et alors que <em>Minority Report</em>, qui date de 2002, imagine des capsules magnétiques de transport urbain sans chauffeur pour 2054, je pense que cela sera réalité autour de 2025 déjà. Ou du moins, <a href="http://www.latribune.fr/entreprises-finance/services/transport-logistique/adp-va-tester-une-navette-autonome-a-l-aeroport-de-roissy-avec-keolis-755000.html">en version à roues sans déplacement vertical</a>.</p>
<p>Comme l&rsquo;impression que même la science-fiction est disruptée, rendant très difficile d&rsquo;imaginer la société du siècle prochain..</p>
<p><strong>Bref, partons du principe que tous les secteurs d&rsquo;activité soient majoritairement voire totalement robotisés dès 2030.</strong></p>
<h3>La politique</h3>
<p>La Faute à l&rsquo;Algo mentionne souvent « l&rsquo;algorithme-président ». Ce qui est bien sûr ironique n&rsquo;est sur le fond pas absurde: la gestion politique d&rsquo;un pays entier étant/devenant beaucoup trop compliquée pour un·e président·e quel que soit le nombre de ministres autour, le pays se verrait dirigé par un algorithme (soit directement, soit encore un humain assisté par ordinateur). Et sachant que les politiciens confient déjà aux algorithmes la planification de leur campagne électorale et des éléments  de langage à placer pour « faire mouche », ils n&rsquo;y seraient pas réfractaires.</p>
<p>Quoique: si je prends par exemple Donald Trump, un pays et sa population a beaucoup à gagner à déléguer le pouvoir à un algorithme plutôt qu&rsquo;à un humain émotif et irrationnel.</p>
<p>« Déléguer » ? Comment est-ce que le principe démocratique pourrait-il être appliqué à ce modèle politique ? Le peuple élit un algorithme parmi plusieurs, ou élit l&rsquo;un des <s>programmes</s> projets présentés par un même algorithme ? Et fondamentalement, qui serait à l&rsquo;origine de cet algorithme ? Un parti ? Une entreprise ? Des développeurs sur Github ? Toute la population à travers une « auto-programmation » via l&rsquo;actualité et des sondages d&rsquo;opinion en ligne ?</p>
<h3>L&rsquo;économie</h3>
<p>Quand est-ce qu&rsquo;arrivera l&rsquo;année-charnière, où la majorité de la population d&rsquo;un pays devient <strong>inemployable,</strong> à la manière des chevaux de trait après l&rsquo;invention de la Ford T ? Mon estimation au doigt mouillé: 2030.</p>
<p>Ce qui laisse très peu de temps pour arrêter de stigmatiser les chômeurs (« c&rsquo;est des fainéants, des parasites, des traîtres envers la France qui se lève tôt » etc etc -c&rsquo;est un discours qui ne choque pas aujourd&rsquo;hui), et développer un modèle économique tenant compte de la robotisation massive du travail.</p>
<p>Je vois plusieurs options radicales:</p>
<ul>
<li>les propriétaires de robots conservent tous leurs avantages, prennent le pouvoir et utilisent la robotique pour « tiers-Etatiser » voire détruire le reste de la population</li>
<li>la taxation de la robotique finance un revenu de base universel lequel garantit à toute la population une vie confortable et une totale liberté d&rsquo;activité non-commerciale</li>
<li>la robotique est nationalisée/internationalisée et toute la population jouit de ses fruits gratuitement</li>
</ul>
<p>J&rsquo;ai du mal à anticiper l&rsquo;effet de la démocratisation des cryptomonnaies (Bitcoin, Monero, Ethereum,..), puisque leur effet émancipateur de la monnaie étatique rend leur aspect fondamentalement démocratique mais d&rsquo;autant plus compatible avec l&rsquo;option numéro 1.</p>
<p>L&rsquo;option 2, je sens encore une énorme opposition de la part de la population, surtout plus âgée de 40 ans, qui sont majoritaires et qui ne veulent pas voir « leur labeur de toute une vie » être distribué à tout le monde sans contrepartie. Le système du salaire de base peut apparaître comme un compromis, mais quelle serait la valeur d&rsquo;un travail d&rsquo;un humain (même non-marchand) dès lors qu&rsquo;un robot le fait mieux ? En tout cas, le simple fait que ce n&rsquo;est pas au centre de toutes discussions politiques en fin 2017 m&rsquo;indique que les humains n&rsquo;auront pas mis ça en place d&rsquo;ici 2030.</p>
<p>L&rsquo;option 3 enfin, repose sur un principe plus simple: l&rsquo;algorithme à la tête de l&rsquo;Etat gère tout, de l&rsquo;urbanisation à la production de la moindre tomate-cerise, pour exploiter au mieux les ressources disponibles afin de maintenir et améliorer le confort de vie de toute la population. Cela peut être très radical, jusqu&rsquo;à la planification de la natalité, le traitement médical du sentiment de colère et de haine des humains pour pas qu&rsquo;ils s&rsquo;entre-tuent, et l&rsquo;auto-défense contre le luddisme. Un communisme nouveau, en gros.</p>
<h3>Stephen Hawking, pessimiste ou réaliste ?</h3>
<p>Stephen Hawking constate avec raison que la robotisation actuelle s&rsquo;accompagne d&rsquo;un accroissement des inégalités sociales. Des réformes profondes sont donc urgentes, avant que les algorithmes ne soient plus crées par des ingénieurs altruistes, au risque sinon de voir des « guerres civiles robotiques » ou l’annihilation du « rustre surplus de population » en faveur d&rsquo;une élite minoritaire et privilégiée.</p>
<p>Et ce, dans les toutes prochaines décennies.</p>


feed_id: https://blog.suumitsu.eu/?p=1320
title: Lave-vaisselle DIY
uri: Lave-vaisselle-DIY
url: https://blog.suumitsu.eu/lave-vaisselle-diy/
content:
<p>Une des caractéristiques communes des personnes qui travaillent dans le numérique est celle de la haine envers les tâches périodiques et répétitives à effectuer manuellement.</p>
<p>Et avec un brin de fibre hacker, la problématique de cette tâche répétitive devient un défi avec comme résultat une solution efficiente voire originale.</p>
<p>Contexte: je vis dans un appartement de petite taille, avec un emplacement en cuisine qui force à faire un choix: machine à laver, ou lave vaisselle. C&rsquo;est ce premier équipement qui occupe la place. Donc jusqu&rsquo;à récemment, j&rsquo;ai été dans la contrainte de devoir laver manuellement ma vaisselle, une fois par semaine. Une tâche très répétitive et vraiment peu passionnante qui me prenait plus d&rsquo;une heure, surtout à cause du couple couteau + fourchette (~4 par jour = 28 objets à frotter).</p>
<p>Ma quête pour un lave-vaisselle format mini a été de courte durée: vu sa taille, c&rsquo;est mon combi four+micro-ondes qui aurait dû être relégué ailleurs. Vu que c&rsquo;est surtout les couverts qui m&#8217;empoisonnent la vie, quid d&rsquo;une nettoyeuse aux ultrasons ? Si telle machine est tout indiquée pour nettoyer lunettes, verres de montre et autres pièces de monnaie, je n&rsquo;en ai pas trouvé de taille suffisante pour y mettre des couverts.</p>
<p>Bref, il me fallait hacker le système et créer mon propre lave vaisselle.</p>
<h3>Lave vaisselle: the basics</h3>
<p>Un lave vaisselle est une machine qui:</p>
<ul>
<li>chauffe de l&rsquo;eau (~70-90°C)</li>
<li>mélange l&rsquo;eau à un détergent non moussant</li>
<li>asperge la vaisselle avec cette eau</li>
<li>se vidange et rince la vaisselle</li>
<li>tombe parfois en panne et requiert des réparations onéreuses</li>
<li>fait du bruit, de la lumière, des SMS de notification de fin de cycle et autres terreurs pour chats</li>
</ul>
<p>Puisque j&rsquo;ai de l&rsquo;eau chaude (à ~60°C selon mes mesures), que je peux trouver sans difficulté du détergent dans le commerce (et il y a pléthore de recettes de produit vaisselle DIY sur le net), et que je dispose d&rsquo;un lavabo pouvant faire office de compartiment lave-vaisselle, il me fallait un appareil convertissant de l&rsquo;énergie électrique (prise 230V) en énergie cinétique (courant d&rsquo;eau pour nettoyer la vaisselle). Créer un maelstrom.</p>
<h3>Faut que ça bouge</h3>
<p>Mon idée initiale était simple: les bateaux utilisent le principe d&rsquo;action-réaction pour avancer, en propulsant de l&rsquo;eau au moyen d&rsquo;une hélice afin de bouger dans le sens inverse.</p>
<p>Un ventilateur ? Non, il me fallait un truc submersible, un mini-moteur hors-bord. &#8230; autant dire que ce qui s&rsquo;en approchait le plus sur Amazon c&rsquo;était une turbine à pile pour bateau Playmobil, à l&rsquo;hélice 10 fois trop petite pour actionner un volume d&rsquo;eau suffisant.</p>
<p><img class="alignnone size-medium wp-image-1321" src="media/fe073eb1.71t6cUb7o2L._SL1000_-300x250.jpg" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2017/09/71t6cUb7o2L._SL1000_-300x250.jpg" alt="" width="300" height="250" srcset="https://blog.suumitsu.eu/wp-content/uploads/2017/09/71t6cUb7o2L._SL1000_-300x250.jpg 300w, https://blog.suumitsu.eu/wp-content/uploads/2017/09/71t6cUb7o2L._SL1000_-150x125.jpg 150w, https://blog.suumitsu.eu/wp-content/uploads/2017/09/71t6cUb7o2L._SL1000_.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>Par la magie des objets similaires de la catégorie aquariophilie, Amazon me suggérait une pompe submersible.</p>
<p><img class="alignnone size-medium wp-image-1322" src="media/b69b08e6.51hCbBZ56vL-300x300.jpg" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2017/09/51hCbBZ56vL-300x300.jpg" alt="" width="300" height="300" srcset="https://blog.suumitsu.eu/wp-content/uploads/2017/09/51hCbBZ56vL-300x300.jpg 300w, https://blog.suumitsu.eu/wp-content/uploads/2017/09/51hCbBZ56vL-150x150.jpg 150w, https://blog.suumitsu.eu/wp-content/uploads/2017/09/51hCbBZ56vL.jpg 500w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>Ça me séduisait: je vérifiais débit d&rsquo;eau, alimentation, longueur de câble, usage « prévu », résistance à l&rsquo;encrassage,&#8230;  Et ça tenait la route. Ce genre de pompe est normalement utilisé pour propulser l&rsquo;eau hors d&rsquo;un étang pour créer une fontaine, ou remonter l&rsquo;eau au sommet d&rsquo;une petite cascade, drainer des conduits, &#8230;.  avec une pression jusqu&rsquo;à 2 bar. J&rsquo;achetais.</p>
<p><img class="alignnone size-medium wp-image-1323" src="media/074ca8cb.51zXV48E8zL-300x300.jpg" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2017/09/51zXV48E8zL-300x300.jpg" alt="" width="300" height="300" srcset="https://blog.suumitsu.eu/wp-content/uploads/2017/09/51zXV48E8zL-300x300.jpg 300w, https://blog.suumitsu.eu/wp-content/uploads/2017/09/51zXV48E8zL-150x150.jpg 150w, https://blog.suumitsu.eu/wp-content/uploads/2017/09/51zXV48E8zL.jpg 500w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<h3>Test et résultat</h3>
<p>Mode opératoire:</p>
<ol>
<li>mettre dans le lavabo les couverts sales</li>
<li>remplir le lavabo d&rsquo;eau chaude jusqu&rsquo;à immerger tous les couverts</li>
<li>placer la pompe contre une paroi, mettre en marche</li>
<li>ajouter le détergent</li>
<li>laisser la magie opérer durant quelques heures</li>
</ol>
<p><div style="width: 360px;" class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->
<video class="wp-video-shortcode" id="video-1320-1" width="360" height="640" preload="metadata" controls="controls"><source type="video/webm" src="https://blog.suumitsu.eu/wp-content/uploads/2017/09/lave-vaisselle.webm?_=1" /><a href="media/ff2cb927.lave-vaisselle.webm" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2017/09/lave-vaisselle.webm">https://blog.suumitsu.eu/wp-content/uploads/2017/09/lave-vaisselle.webm</a></video></div></p>
<p>Et ça fonctionne ! La vaisselle en ressort plus brillante que jamais et il me suffit de les prendre par poignées entières et les rincer à grande eau, puis laisser sécher à l&rsquo;air. Plus propre qu&rsquo;avec une éponge surtout dans tous les petits interstices.</p>
<p>Mon eau chaude étant moins chaude que dans un lave-vaisselle « mainstream », je compense par une durée de lavage plus longue et une dose un peu plus forte en détergent (conso moindre en électricité contre surdosage en détergent, je pense que ça reste écologiquement avantageux face à un lave vaisselle).</p>
<p>La pompe étant conçue pour résister à des débris végétaux et autres impuretés d&rsquo;aquarium, elle résiste sans mal aux quelques miettes détachées (et au delà du grain de riz c&rsquo;est stoppé par le filtre de l&rsquo;entrée d&rsquo;eau).</p>
<p>En orientant bien la pompe je crée un tourbillon/maelstrom qui fait passer le détergent dans les moindres recoins et amène les miettes et autres saletés dans son milieu pour qu&rsquo;ils s&rsquo;y posent, loin de la vaisselle.</p>
<p>Au fil de mes utilisations, j&rsquo;ai observé que les ventouses de la pompe adhères parfois mal aux parois (moins lisses que du verre), et donc la pompe repose au fond du lavabo. Afin de palier à tout risque d’inondation, je veille à remplir suffisamment le lavabo pour que, dans l&rsquo;éventualité où la pompe se détacherait et s&rsquo;orienterait jet d&rsquo;eau vers le haut, le flux soit amorti et ne parvienne pas hors du lavabo. En plaçant la pompe contre le fond, je lui laisse virtuellement aucune chance à ce que le flux soit vertical en cas de détachement.</p>
<p>Voilà, à la prochaine et restez hackers <img src="media/09b7cf10.1f609.png" data-original-source="https://blog.suumitsu.eu/wp-content/plugins/wp-local-emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>


feed_id: https://blog.suumitsu.eu/?p=1293
title: Le futur de hubiC ?
uri: Le-futur-de-hubiC
url: https://blog.suumitsu.eu/le-futur-de-hubic/
content:
<p style="text-align: left;">Il y a près d&rsquo;un mois, j&rsquo;envoyais le mail suivant au support de hubiC:</p>
<blockquote><p>Bonjour,</p>
<p>Un récent évènement m&rsquo;oblige à redéfinir ma politique de sauvegarde et archivage sur les services de stockage cloud: la décision unilatérale par Amazon Drive de révoquer l&rsquo;accès API au logiciel libre rclone.</p>
<p>J&rsquo;utilise hubic depuis longtemps (peu après sa création), et hubic reste un service au rapport quantité/prix imbattable (hormis concurrence à stockage « illimité »).</p>
<p>Cependant, hubic évolue peu: la mise en avant commerciale est faible, et l&rsquo;offre elle-même stagne, me faisant gravement douter de la pérennité du service.</p>
<p>Mais surtout, hubic souffre depuis longtemps de problèmes très handicapants face à la concurrence:</p>
<ul>
<li>débit de transfert limité à 10 Mb/s par IP (en contraste du 360 Mb/s atteint avec Amazon Drive) alors que la fibre optique se démocratise</li>
<li>le renommage ou la suppression de grandes quantités de fichiers est extrêmement long (supprimer un dossier de 10000 fichiers: une demi-seconde chez la concurrence, plus d&rsquo;une heure chez hubic)</li>
<li>un hash MD5 ou SHA1 fait cruellement défaut dans l&rsquo;interface web quand on veut valider l&rsquo;intégrité des données</li>
<li>chaque requête à hubic web déclenche une connexion avec Xiti (alors qu&rsquo;OVH dispose d&rsquo;un Piwik maison !), c&rsquo;est classe uBlock qui signale 850 connexions bloquées quand on veut juste renommer un dossier&#8230;</li>
<li>un forum de support noyé sous les spams et ressenti comme étant à l&rsquo;abandon</li>
<li>de manière générale, un support focalisé sur le maintien en condition opérationnelle plutôt que sur l&rsquo;amélioration visible du service</li>
</ul>
<p>Tout cela est très dommageable pour hubic, alors qu&rsquo;il reste une excellente solution pour ne pas confier ses données privées à Google/Amazon/Microsoft/Apple/Dropbox et nettement moins cher que Yandex Disk ou Backblaze.</p>
<p>Dans ce contexte, quelles sont les ambitions futures d&rsquo;OVH au sujet de hubic ? Faites-moi rêver <img src="media/09b7cf10.1f609.png" data-original-source="https://blog.suumitsu.eu/wp-content/plugins/wp-local-emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p></blockquote>
<p>À ce jour, aucune réponse <img src="media/0790e75f.1f641.png" data-original-source="https://blog.suumitsu.eu/wp-content/plugins/wp-local-emoji/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" />  je crois bien qu&rsquo;ils ont /dev/null.</p>
<p>N&#8217;empêche: hubiC a réellement du potentiel, et les défauts que j&rsquo;ai listé sont loin d&rsquo;être insurmontables. Sauf que voilà: un service qui ne titille pas la concurrence depuis un certain temps, c&rsquo;est un service dont on peut se dire « un beau matin ils vont vouloir se focaliser sur un truc plus rentable/stimulant, et donc mettre fin à ce service, peut-être même sans prévenir ».</p>
<p>Cette incertitude me fout franchement des sueurs froides. Depuis des semaines j&rsquo;ai un VPS qui copie mes archives de hubiC vers Backblaze B2, mais cette copie n&rsquo;est pas encore finalisée.</p>
<p>Autant pour mes sauvegardes les plus critiques, j&rsquo;ai 6 exemplaires disponibles (dont 3 hors site)&#8230;  mais mes archives titillant les 2 To de poids, bah là elles sont que chez hubiC. Et je serais super triste si je les perdais: de la japanimation difficile à trouver de nos jours, des ISOs, mes jeux GOG/Humble Bundle, &#8230;</p>
<p>Et&#8230; bruit oblige, si je voulais tout fourrer dans mon NAS, il me faudrait des disques 2.5 pouces bien gras&#8230; et chers. Minimum 4 To, soit autour de 250 € l&rsquo;unité actuellement, et il m&rsquo;en faut deux pour mon RAID 1. Ça pique trop, et il me faudrait ré-investir rapidement à cause du volume croissant (comparé aux 10 To confortables de hubiC, et le tarif progressif de B2).</p>
<p>Bref, je souhaite que hubiC fasse un petit geste pour confirmer qu&rsquo;ils sont encore là, et pour encore un bon bout de temps.</p>
<hr />
<p>EDIT:</p>
<ul>
<li>10/07:  je rencontre un problème: lors de la suppression d&rsquo;un fichier, je reçois une « 500 internal error ». Je contacte le support.</li>
<li>13/07: silence radio. j&rsquo;envoie un DM au Twitter de hubic.</li>
<li>17/07: le CM fait remonter. plus tard, je reçois par mail une demande de précisions. je réponds.</li>
<li>18/07: remontée aux administrateurs</li>
<li>02/08: aucun retour. je relance.</li>
<li>07/08: remontée aux administrateurs</li>
<li>09/08: ils relancent les admins</li>
<li>16/08: le problème est encore là</li>
<li>26/08: problème résolu par moi-même. J&rsquo;y croyais pas du tout mais j&rsquo;ai voulu tenter avec une synchro → remplacement du fichier → suppression avec un NAS&#8230; et ça a réussi !</li>
</ul>
<p>EDIT 29/05/2018:</p>
<p><a href="https://www.numerama.com/tech/380158-hubic-ovh-laisse-tomber-le-stockage-grand-public.html">OVH a fermé les nouvelles inscriptions de hubiC, et stoppé son développement</a>.</p>


feed_id: https://blog.suumitsu.eu/?p=1214
title: Caméra de sécurité avec smartphone
uri: Caméra-de-sécurité-avec-smartphone
url: https://blog.suumitsu.eu/camera-de-securite-avec-smartphone/
content:
<p>Après avoir lu l&rsquo;<a href="http://www.numerama.com/tech/131766-transformez-vieux-smartphone-android-camera-wi-fi.html">article de Numérama à propos de AtHome</a>, une app Android permettant de faire une caméra de sécurité avec un smartphone, j&rsquo;ai fait quelques tests et&#8230; n&rsquo;ai pas été très satisfait·e. J&rsquo;y vois surtout l&rsquo;utilité pour « garder un œil » sur Bébé pendant son dodo dans sa chambre tout en restant sur le canapé au salon. Les fonctions d&rsquo;enregistrement etc sont payantes, bien sûr.</p>
<p>Alors j&rsquo;ai cherché et testé d&rsquo;autres applications, et ce qui répondait le mieux à mes attentes est <a href="https://play.google.com/store/apps/details?id=com.pas.webcam">IP Webcam</a> couplé avec <a href="https://play.google.com/store/apps/details?id=com.pas.ipwebcamftp">Filoader</a>.</p>
<p>La configuration est relativement facile mais très complète, il faut nécessairement tester (notamment pour vérifier si la batterie tient la charge !). Tout dépend du smartphone, donc je ne peux que détailler ma config:</p>
<ul>
<li>téléphone Samsung Galaxy S II</li>
<li>résolution 640 x 480</li>
<li>format vidéo MKV (OpenH264 + Opus)</li>
</ul>
<p>L&rsquo;application  intègre un serveur web, on peut donc consulter la caméra avec un navigateur web, ou VLC, ou plein d&rsquo;autres options. C&rsquo;est notamment très pratique pour tester le calibrage de la détection de mouvement ou audio. Flash, vision nocturne, focus, zoom, capture photo, &#8230; très pratique. NB: l&rsquo;accès n&rsquo;est pas protégé par mot de passe !</p>
<p>&nbsp;</p>
<p><a href="media/7edde063.dfgs.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2016/11/dfgs.png"><img class="alignnone wp-image-1217 size-medium" src="media/e579599f.dfgs-300x218.png" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2016/11/dfgs-300x218.png" alt="dfgs" width="300" height="218" srcset="https://blog.suumitsu.eu/wp-content/uploads/2016/11/dfgs-300x218.png 300w, https://blog.suumitsu.eu/wp-content/uploads/2016/11/dfgs-150x109.png 150w, https://blog.suumitsu.eu/wp-content/uploads/2016/11/dfgs-1024x745.png 1024w, https://blog.suumitsu.eu/wp-content/uploads/2016/11/dfgs.png 1186w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bon, étape suivante. L&rsquo;application découpe les enregistrements en séquences de 60 minutes horodatées. Quel est mon besoin ? Je veux mettre en place un dispositif contre les cambriolages. Le flux est trop lourd pour un envoi via internet (j&rsquo;ai pas la fibre), ça fait du ~100 ko/s montant en permanence, et surtout&#8230; une caméra d&rsquo;intérieur, on veut vraiment pas que ça atterrisse sur un serveur extérieur qu&rsquo;on ne contrôle pas.</p>
<p>J&rsquo;ai un serveur NAS, mais dans l&rsquo;hypothèse d&rsquo;un cambriolage il se ferait embarquer aussi. Et laisser les enregistrements sur le téléphone implique devoir périodiquement le manipuler. La meilleure solution: .. la Freebox. Il y a de bonnes chances qu&rsquo;un cambrioleur s&rsquo;en désintéresse, et elle contient un serveur FTP, et un contrôle parental pour refuser tout accès internet au téléphone. Très bien ! Toutes les heures, le téléphone envoie les enregistrements par FTP sur la Freebox.</p>
<p>À raison de ~300 Mo par heure de jour, et ~50 Mo par heure de nuit, ça nous fait&#8230; environ 6 Go d&rsquo;enregistrements par jour en moyenne. Avec 240 Go dispo dans la Freebox, ça nous fait facilement 1 mois d&rsquo;archives.</p>
<p>En outre, j&rsquo;intègre dans mon script de sauvegardes une petite fonction à base de curlftpfs et find pour supprimer les fichiers de plus de 6 jours. Vu que j&rsquo;exécute ce script manuellement, j&rsquo;ai pas à craindre de vidange automatique malheureuse d&rsquo;enregistrements intéressants.</p>
<p>Enfin&#8230; dissimuler le téléphone. Pour ce faire, j&rsquo;ai utilisé un petit carton dans lequel j&rsquo;ai percé un trou pour l&rsquo;objectif, et dans sa face intérieure j&rsquo;ai collé une pochette bricolée dans laquelle je glisse le téléphone. J&rsquo;ai aussi coupé un « canal » au cutter pour faire passer le câble du chargeur en dessous et derrière le carton, d&rsquo;où il descend un meuble jusqu&rsquo;à la prise électrique. Discret, anodin, efficace <img src="media/db34b187.1f642.png" data-original-source="https://blog.suumitsu.eu/wp-content/plugins/wp-local-emoji/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" />  Période d&rsquo;observation et test, vérifier si le téléphone surchauffe pas, s&rsquo;il consomme moins que la vitesse de charge de la batterie, &#8230;</p>
<p>Et voilà ^^</p>
<blockquote><p>Note de fin: c&rsquo;est un sentiment un peu bizarre, je me sais « observé » par une caméra même si c&rsquo;est moi qui en ai le contrôle. J&rsquo;ai mis cela en place dans l&rsquo;hypothèse d&rsquo;un cambriolage sachant que je m&rsquo;en voudrais d&rsquo;avoir eu la possibilité technique d&rsquo;avoir la tronche de l&rsquo;auteur, le cas échéant. Et pourtant. Je sais mon sentiment complètement irrationnel, sachant que tout smartphone allumé est un potentiel micro-caméra espion contenant pléthore de capteurs divers et données pouvant servir à traquer la vie privée de l’utilisateur, et un smartphone allumé, bah.. j&rsquo;en ai un de toute manière.</p></blockquote>


feed_id: https://blog.suumitsu.eu/?p=1209
title: Sur la haine
uri: Sur-la-haine
url: https://blog.suumitsu.eu/sur-la-haine/
content:
<p><img class="alignnone size-full wp-image-1210" src="media/b4915caa.CNGBcioXAAA8IBE.jpg" data-original-source="https://blog.suumitsu.eu/wp-content/uploads/2016/08/CNGBcioXAAA8IBE.jpg" alt="CNGBcioXAAA8IBE" width="486" height="443" srcset="https://blog.suumitsu.eu/wp-content/uploads/2016/08/CNGBcioXAAA8IBE.jpg 486w, https://blog.suumitsu.eu/wp-content/uploads/2016/08/CNGBcioXAAA8IBE-150x137.jpg 150w, https://blog.suumitsu.eu/wp-content/uploads/2016/08/CNGBcioXAAA8IBE-300x273.jpg 300w" sizes="(max-width: 486px) 100vw, 486px" /></p>


feed_id: http://blog.suumitsu.eu/?p=1164
title: Du nécessaire débat sur la réduction du labeur humain
uri: Du-nécessaire-débat-sur-la-réduction-du-labeur-humain
url: https://blog.suumitsu.eu/du-necessaire-debat-sur-la-reduction-du-labeur-humain/
content:
<p>Sentiment étrange que de voir une corrélation entre le prolongement de l&rsquo;état d&rsquo;urgence en France, et la présentation d&rsquo;un avant-projet de loi de réforme du code du travail quelques jours plus tard. Entre d&rsquo;un côté l&rsquo;interdiction possible de manifestations publiques même pacifiques, et de l&rsquo;autre un texte au contenu proprement hallucinant, porté par une ministre déjà écornée dans « l&rsquo;opinion publique » par sa méconnaissance du nombre de renouvellements possibles d&rsquo;un contrat à durée déterminée.</p>
<p>Mais passons. Je laisse à mes confrères et consœurs blogeurses le soin d&rsquo;entrer dans les détails de cet avant-projet de loi travail, expliquant en quoi il s&rsquo;agit d&rsquo;un recul des droits sociaux, un renforcement de la précarité des classes pauvres et moyennes, un suicidaire message politique, et surtout un non-sens économique même dans les modèles du XXe siècle. Et ce d&rsquo;autant plus que je n&rsquo;aurais pas à en subir les conséquences directes, mes dépendances financières étant peu rattachées à la santé commerciale et industrielle du pays. Je tenais à prendre de la hauteur, avoir une vue d&rsquo;ensemble du présent, et pouvoir regarder vers les futurs possibles.</p>
<p>L&rsquo;évolution technologique peut être motivée par deux grands objectifs, à des proportions variables: l&rsquo;intérêt économique, et l&rsquo;intérêt humain. Le capitalisme est souvent associé exclusivement (à tord) au progrès technologique, plaçant l&rsquo;intérêt humain comme étant la conséquence de l&rsquo;intérêt économique. On peut parfois voir de manière très explicite cette conception des choses, par exemple lorsqu&rsquo;un producteur de disques affirme que sans vente de musique, les artistes ne pourraient pas en vivre et donc qu&rsquo;il n&rsquo;y aurait pas d&rsquo;artistes. Mais c&rsquo;est souvent ce producteur de disque là qui refuserait fermement les concepts comme les licences Creative Commons, alors que celles-ci renforcent les pouvoirs des artistes tout en donnant des libertés et droits au public.</p>
<p>Nous vivons une époque formidable. Car à défaut d&rsquo;être joyeuse, elle nous amène à penser, à réfléchir, à remettre en question, à réinventer. Sous l&rsquo;impulsion d’entreprises privées souvent, mais pas que. Régulièrement, je vois apparaitre ici une étude sur la proportion d&#8217;emplois qui seraient assurés par des robots, là une actualité sur les progrès réalisés par les concepteurs de voitures sans chauffeurs ou de drones de livraison. Le progrès technologique est exponentiel, au-delà d&rsquo;une courbe suivant la loi de Moore, posant des défis bien plus difficiles et complexes qu&rsquo;une simple mission habitée sur la planète Mars. Car c&rsquo;est de modèles économiques et sociaux qu&rsquo;il s&rsquo;agit, touchant 8 milliards de créatures individuellement avides.</p>
<p>Je souriais récemment encore du conflit opposant l&rsquo;entreprise Uber et ses chauffeurs VTC à l&rsquo;entreprise G7 et ses taxis parisiens. L&rsquo;entreprise Uber ne se développe pas bien du tout au Japon, vous savez pourquoi ? Parce que la clientèle est satisfaite du service des taxis pré-existant. Il n&rsquo;y a donc pas de « rupture », pas de progrès sensible possible dans l&rsquo;immédiat. Tandis qu&rsquo;à Paris&#8230; je pourrais consacrer un article entier sur le nombre et la variété des critiques communément adressées aux taxis. Mais il ne faut surtout pas perdre de vue qu&rsquo;Uber gère ses finances exactement comme Google, Amazon, etc: dégager une rentabilité maximale au plus vite, et réinvestir un maximum des bénéfices. Ainsi, l&rsquo;entreprise paye peu d&rsquo;impôts et peut développer de nouveaux produits. Un concept économique qui semble mieux marcher que le « modèle français » où pour développer un produit précis, une entreprise est choisie et touche des financements publics. Oui je pense à toi, feu « Cloud Souverain ». Toujours est-il qu&rsquo;Uber investit tout ce qu&rsquo;il peut dans la conception de voitures sans chauffeur, et bien qu&rsquo;ils communiquent peu dessus (contrairement à Google), je pense vraiment qu&rsquo;ils peuvent réussir à mettre au point un produit très fonctionnel <strong>et</strong> appuyer la modification de la législation pour permettre son usage, mieux que ce que pourrait faire Google ou Tesla ou Toyota. Ou plutôt: les uns la conception de la voiture, les autre la conception du logiciel. IBM et Microsoft. Une recette qui a déjà marché par le passé, pour un produit que le grand public attend impatiemment.</p>
<p>Ce matin, j&rsquo;ai eu droit à une énième déception causée par La Poste. Et vous n&rsquo;êtes épargnés de lire de lourdes injures publiques envers cette société que parce qu&rsquo;ils effectuent, à l&rsquo;heure actuelle, des essais de livraison par drone. Alors je voyais plus tôt ce jeune galérant sur son vélo jaune chargé de sacoches pleines de courriers non électroniques tandis qu&rsquo;il montait une côte, et je me suis dit: « encore un petit boulot bientôt remplacé par des drones, capables de vous livrer courriers et colis à toute heure, directement chez vous, en moins de 10 minutes, à la demande de l&rsquo;utilisateur ». Et puis Amazon qui conçoit aussi des drones et s&rsquo;intéresse à tout ce qui est alimentaire, je me dis que livreur de pizzas est aussi un petit boulot appelé à disparaitre. Peut-être même que des géants tels McDonalds se retrouveraient avec des pieds d&rsquo;argile&#8230;</p>
<p>Je regarde autour de moi, <strong>et je peine à trouver des boulots qui ne pourraient pas être assurés aussi bien voire mieux par des robots et l&rsquo;IA</strong>. Même ce qui est artistique. Même ce qui est médical. Même ce qui est sexuel. Même ce qui est politique. Même ce qui est juridique. Même le présent blog pourrait être rédigé par une IA, reposant sur un réseau neuronal ayant analysé mes opinions passées voire la structure-même de mon cerveau afin d&rsquo;en imiter et surpasser ma pensée. Tournis.</p>
<p>La logique du capitalisme repose sur la réduction des coûts. Les entreprises peuvent remplacer les employés humains par des employés d&rsquo;IA, et elles vont le faire, massivement, très bientôt. À court terme, voici l&rsquo;équation envisageable:</p>
<ol>
<li>le produit est crée, avec des coûts minimisés grâce à la robotique</li>
<li>le produit est vendu très peu cher au grand public</li>
<li>le grand public dépend financièrement d&rsquo;un revenu universel réparti équitablement</li>
<li>le revenu universel est alimenté par une taxe</li>
<li>la taxe s&rsquo;applique sur les revenus (et non les bénéfices) générés par l&rsquo;entreprise faisant travailler des robots</li>
</ol>
<p>Voici les éléments qui vont forcer l&rsquo;application de ce genre de modèle:</p>
<ul>
<li>la monnaie d&rsquo;Etat est inflationnaire</li>
<li>par déliquescence de l&rsquo;ancien modèle économique, le grand public s&rsquo;appauvrit</li>
<li>pour répondre à cet appauvrissement et pour éviter émeutes et insurrections, les prix sont baissés</li>
<li>le creusement des inégalités va forcer à l&rsquo;instauration d&rsquo;un revenu universel afin de maintenir la paix sociale</li>
<li>les entreprises s&rsquo;équipent de robots</li>
<li>les entreprises délaissent les emplois à durée indéterminée, exigeant même des candidats qu&rsquo;ils « se vendent » exactement comme un commercial présenterait son produit</li>
</ul>
<p>L&rsquo;inconnue là dedans, c&rsquo;est la réaction de la population. En effet, « papy boom » oblige, de nombreuses personnes vont atteindre bientôt l&rsquo;âge de la retraite. Or, il y aura (et il y a déjà) bien trop peu d&#8217;employés (et donc de cotisants) pour maintenir les caisses d&rsquo;assurance retraite, et le renflouement par un Etat déjà déstabilisé par la baisse des impôts (notamment sur le revenu, décroissant) et des taxes (notamment la TVA, alors que les prix baissent). Pire: l&rsquo;espérance de vie étant croissante et progrès médical aidant (cellules souches, tout ça), un papy-boomer peut raisonnablement s&rsquo;attendre <strong>à passer la moitié de sa vie à la retraite</strong>. Le modèle actuel est catastrophique. Or, et c&rsquo;est là que ça va faire mal:</p>
<ul>
<li><strong><big><big>comment imposer un revenu de base universel alors que les papy-boomers, majoritaires dans la population, ont dû en chier durant 40 ans pour toucher une somme inférieure en pension retraite ?!</big></big></strong></li>
</ul>
<p>Oui, la transition sera ressentie comme étant injuste envers eux. Malheureusement je ne vois pas beaucoup d&rsquo;autres alternatives plus acceptables. Je vous laisse imaginer la conséquence d&rsquo;une saisie arbitraire de tous les livrets d&rsquo;épargne, par exemple, alors que les papy-boomers sont « assis dessus » en vue d&rsquo;en faire un héritage pour leurs descendants, alors que l&rsquo;héritage est un patrimoine très inéquitable. Or celles et ceux qui ont les livrets les mieux garnis sont aussi ceux qui touchent le plus de pension retraite, donc c&rsquo;est peut-être par cette piste-là que le revenu universel de base serait accepté.</p>
<p>Quid du labeur humain donc, remplacé avantageusement par des robots ? Risque t-on de se retrouver dans une société fainéante et incompétente, dépendante des robots, gouvernée par les robots ? Question complexe.</p>
<p>Que les humains vont soudainement ne plus rien faire après que les robots soient capables de s&rsquo;auto-améliorer, j&rsquo;y crois pas un seul instant: les humains ne supportent pas l&rsquo;ennui. À divers degrés, les humains ressentent le besoin d&rsquo;apprendre, de découvrir, de créer notamment de l&rsquo;art. N&rsquo;étant plus enchainés au besoin économique, je prophétise que les humains auront le temps et l&rsquo;envie d&rsquo;apprendre, toujours davantage, et la robotique sera là pour développer toujours de nouvelles technologies qu&rsquo;on pourra admirer et apprendre au quotidien. Ce qu&rsquo;on y perdrait ? Disparition des prix Nobel, car plus d&rsquo;humains à récompenser. À moins que le prix Nobel pourra récompenser des algorithmes, féliciter des robots. La profusion de connaissances et technologies sera telle que les humains vont se spécialiser d&rsquo;eux-même par préférence personnelle, et donc l&rsquo;humanité sera plus compétente que jamais, capable de restaurer toute son infrastructure en très peu de temps suite à un vent solaire ayant fait griller tous les robots par exemple, exactement comme une fourmilière qui répare les dégâts avec une efficacité déconcertante quand un enfant humain donne un coup de pied dedans.</p>
<p>Les humains, gouvernés par des robots ? Ne rigolez pas, on en a eu très récemment un prémisse en la personne de Jean-Luc Mélenchon, utilisateur et promoteur de NationBuilder. Si NationBuilder est à peine une IA d&rsquo;assistance aux politiciens en campagne, l&rsquo;idée d&rsquo;un gouvernement entièrement IA est plausible&#8230; <a href="/2012/09/26/la-robotisation-nest-pas-un-malheur/">voire souhaitable</a>. J&rsquo;en ferais presque un slogan: <strong>imperium ex silicium</strong>.</p>
<p>Est-ce que notre génération saura relever ce défi ? Humains, surprenez-moi !</p>


feed_id: http://blog.suumitsu.eu/?p=1145
title: Sauvegardes incrémentielles avec Attic Deduplicating Archiver
uri: Sauvegardes-incrémentielles-avec-Attic-Deduplicating-Archiver
url: https://blog.suumitsu.eu/sauvegardes-incrementielles-avec-attic-deduplicating-archiver/
content:
<p><a href="https://attic-backup.org/">Attic</a> est un programme Python développé par Jonas Borgström. Il permet de réaliser des sauvegardes incrémentielles, compressées, chiffrées et morcelées. Concrètement ça se passe ainsi:</p>
<ol>
<li>une première sauvegarde complète</li>
<li>la seconde sauvegarde ne contient que les fichiers changés depuis la sauvegarde complète</li>
<li>la troisième sauvegarde ne contient que les fichiers changés depuis la seconde</li>
<li>la sauvegarde N ne contient que les fichiers changés depuis la sauvegarde N-1</li>
</ol>
<p>Lors du processus de restauration, on peut choisir quelle sauvegarde restaurer. Un fichier a été effacé par erreur jeudi, la sauvegarde a lieu tous les vendredis, et on est samedi ? Pas de souci: on peut récupérer le fichier depuis la sauvegarde du vendredi de la semaine précédente.</p>
<p>Une sauvegarde, on en a quasiment jamais besoin. Mais c&rsquo;est quand on en a besoin qu&rsquo;on enrage de ne pas avoir fait de sauvegarde. Heureusement pour moi j&rsquo;utilise différentes méthodes de sauvegarde afin de me donner une redondance double, je n&rsquo;ai eu à faire appel à Attic qu&rsquo;une seule fois, précisément pour une question de fichier effacé 3 semaines avant (sachant que mes sauvegardes locales sont des anti-hardware-crash hebdomadaires).</p>
<h3>Mon cas</h3>
<p>Dans ma stratégie actuelle, Attic a le rôle suivant:</p>
<p><code>/home → Attic → disque dur secondaire → Attic → DD sauvegarde 1 → DD sauvegarde 2<br />
···································  → hubiC<br />
···································· → Mega</code></p>
<p>Les dossiers utilisateur me sont en effet absolument précieux, il me les faut donc décompressés sur mes 2 disques durs externes de sauvegarde locale et chiffrés sur le DD secondaire et 2 services de stockage en cloud différents (pour pallier au risque d&rsquo;arrêt du cloud).</p>
<h3>Le détail sur les sauvegardes</h3>
<p>Attic traite les données et les stocke dans un dépôt (repository). Ça peut être un dossier local, ou distant (avec sshfs, ou de Attic à Attic via ssh). Attic y stocke 3 fichiers importants:</p>
<ul>
<li>config (qui contient les paramètres du dépôt)</li>
<li>hints.X</li>
<li>index.X</li>
<li>(et un README, osef)</li>
</ul>
<p>X étant un chiffre que je devine être le nombre de morceaux traités. hints et index sont des blobs binaires sans doute chiffrés. Il s&rsquo;agit ici des fichiers d&rsquo;indexation des sauvegardes, Attic les inclut dans le dépôt ce qui est un bon procédé (contrairement à <a href="http://blog.suumitsu.eu//2014/10/10/sauvegarder-ses-donnees-avec-deja-dup-et-owncloud-desktop/">Duplicity</a> qui les stockait dans .cache, ce qui provoque beaucoup de drames car sans ces index les sauvegardes sont difficilement exploitables)</p>
<p>Et puis il y a un dossier data, un/des sous-dossiers, et là dedans les morceaux des sauvegardes, avec comme nom des chiffres. Blobs binaires, de 5 Mo par défaut.</p>
<h3>Usage de base</h3>
<p>La <a href="https://attic-backup.org/usage.html">documentation de Attic</a> est très complète, sauf que.. en anglais seulement. Concrètement les commandes:</p>
<ul>
<li>init: une seule fois, pour initialiser la config du dépôt (le paramètre &#8211;encryption permet de choisir le chiffrement: « none » pour aucun, « passphrase » pour une phrase de passe, « keyfile » pour un fichier-clé)</li>
<li>create: à chaque sauvegarde</li>
<li>extract: en cas de restauration</li>
<li>check: de temps en temps (l&rsquo;argument &#8211;repair permet de corriger de petits soucis, voir après)</li>
<li>delete: occasionnellement, pour supprimer un point de sauvegarde (je déconseille)</li>
<li>list: si besoin, permet de lister les points de sauvegarde dispo, et leur contenu</li>
<li>prune: régulièrement, supprime les points de sauvegarde anciens</li>
<li>info: si besoin, affiche quelques stats sur le dépôt</li>
<li>mount: en cas de restauration, permet de monter un point de sauvegarde et ainsi naviguer dans l&rsquo;arborescence des dossiers pour trouver des fichiers précis</li>
<li>change-passphrase: occasionnellement, si vous êtes parano</li>
</ul>
<h3>Quelques recommandations et incidents</h3>
<p>Si vous envoyez vos sauvegardes sur un/des services externes, il est indispensable de les chiffrer. Pensez-y avant car cela est défini à l&rsquo;étape d&rsquo;initialisation du dépôt. Attic chiffre en AES-256 donc si vous avez une phrase de passe solide (20 caractères ou plus) ou un fichier-clé qui ne risque pas la corruption, vous êtes tranquille.</p>
<p>Les noms des points de sauvegarde: je vous recommande fortement d&rsquo;indiquer la date.</p>
<p>Le dossier « data » et son contenu ne doivent pas être modifiés par d&rsquo;autres programmes que Attic. Exemple: j&rsquo;ai mentionné précédemment que j&rsquo;utilise Mega, via le logiciel MegaSync (qui fait une synchro à double sens). Et bien puisque Attic prune (supprime) les points de sauvegarde anciens alors que MegaSync n&rsquo;est pas lancé, ce dernier va au lancement suivant retélécharger les fichiers des points de sauvegardes supprimés ! Attic vous signalera une corruption du dépôt. Heureusement c&rsquo;est facilement corrigé avec check &#8211;repair, Attic supprime les fichiers en trop et nettoie. Par rapport à ça, j&rsquo;ai inclus dans mon script de sauvegarde un contrôle bloquant: tant que MegaSync n&rsquo;est pas lancé et prêt à synchroniser les modifications qui seront apportées par Attic, Attic n&rsquo;est pas exécuté.</p>
<p>Le chiffrement: l&rsquo;utilisation d&rsquo;un fichier-clé peut être dangereuse, car ce fichier doit impérativement ne jamais être altéré du moindre bit.. et si ce fichier est nommé « chiffrement-attic » ou autre truc explicite, n&rsquo;importe qui ayant accès au PC devinera à quoi il sert et pourra accéder aux sauvegardes. C&rsquo;est pourquoi je préfère les phrases de passe. Cependant j&rsquo;automatise cela au sein du script avec la commande export ATTIC_PASSPHRASE, donc le script lui-même devient le point faible.</p>
<h3>Mon exemple de script de sauvegarde</h3>
<p>Il est exécuté par un script-maitre appelé par crontab, et procède tous les 6 jours.</p>
<p><code>#!/bin/bash<br />
# restore: attic extract $REPOSITORY::(date)<br />
# list: attic list $REPOSITORY(::date)<br />
locker='~/Bureau/attic_cron.lock'<br />
locker1='~/Bureau/please_start_megasync.lock'<br />
locker2='~/Bureau/attic_working.lock'<br />
timermaxage="518400"<br />
sourcefolder='~/'<br />
ATTIC_PASSPHRASE="Entrer ici une phrase de passe solide"<br />
export ATTIC_PASSPHRASE<br />
REPOSITORY='/tmp/home.attic'<br />
timer="$REPOSITORY/timer"<br />
curdate=$(date +%s)<br />
if [ -f $timer ]; then<br />
lastexec=$(stat -c %Y $timer)<br />
echo "timer trouvé, lastexec: $lastexec"<br />
else<br />
lastexec="0"<br />
echo "timer non trouvé"<br />
fi<br />
calcdiff=$(($curdate-$lastexec))<br />
if [ -f $locker ]<br />
then exit<br />
else<br />
touch "$locker"<br />
if [ $calcdiff -gt $timermaxage ]; then<br />
touch "$locker1"<br />
ps ax | grep -v grep | grep megasync &gt; /dev/null<br />
while [ $? != 0 ]; do<br />
sleep 1<br />
ps ax | grep -v grep | grep megasync &gt; /dev/null<br />
done<br />
rm "$locker1"<br />
sleep 13 # on laisse un peu de temps pour connexion MegaSync<br />
touch "$locker2"<br />
attic create --stats $REPOSITORY::`date +%Y%m%d` $sourcefolder<br />
attic prune -v $REPOSITORY --keep-daily=4<br />
rm "$locker2"<br />
touch "$timer"<br />
fi<br />
rm "$locker"<br />
fi</code></p>
<p>Si vous n&rsquo;utilisez pas MegaSync, vous pouvez zapper tout ce qui le concerne. Le timer et les verrous (locks) aussi si vous exécutez le script manuellement. Le timer de 518400 secondes ça correspond à 6 jours (le délai entre 2 points de sauvegarde).</p>
<p>Pour ce qui est d&rsquo;Attic, il crée des points de sauvegarde nommés par exemple « 20150809 ». Avec la commande « attic list » il affiche pour chaque point de sauvegarde la date et l&rsquo;heure précise, mais bon. Si les noms sont cohérents et prévisibles, faire des trucs comme l&rsquo;extraction automatisée ça devient plus facile (ce qui se passe chez moi, la sauvegarde la plus récente (attic list $REPOSITORY | tail -n1 | head -c8) étant extraite vers mes disques durs externes  -au passage ça teste donc l&rsquo;intégrité de la sauvegarde)</p>
<p>« attic prune » avec comme paramètre &#8211;keep-daily=4. J&rsquo;ai besoin d&rsquo;expliquer ? Cette commande supprime tous les points de sauvegarde précédents SAUF les 4 plus récents. Ce qui dans mon cas me donne une marge jusqu&rsquo;à 4*6 = 24 jours d&rsquo;historique, ça me convient.</p>
<p>Adaptez à votre sauce !</p>


# update_log

log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Thu, 11 Sep 2025 12:09:04 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Thu, 11 Sep 2025 15:02:37 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Thu, 11 Sep 2025 19:16:16 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Thu, 11 Sep 2025 23:04:33 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Fri, 12 Sep 2025 04:14:51 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Fri, 12 Sep 2025 05:49:47 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Fri, 12 Sep 2025 09:38:45 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Fri, 12 Sep 2025 14:41:43 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sat, 13 Sep 2025 03:50:49 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sat, 13 Sep 2025 07:26:02 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sat, 13 Sep 2025 12:04:38 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sat, 13 Sep 2025 13:36:39 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sat, 13 Sep 2025 16:55:45 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sat, 13 Sep 2025 22:13:51 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sun, 14 Sep 2025 04:27:03 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sun, 14 Sep 2025 05:55:44 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sun, 14 Sep 2025 09:50:55 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sun, 14 Sep 2025 12:40:23 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sun, 14 Sep 2025 17:39:22 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Sun, 14 Sep 2025 21:51:20 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Mon, 15 Sep 2025 06:01:06 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Mon, 15 Sep 2025 08:17:56 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Mon, 15 Sep 2025 12:37:22 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Mon, 15 Sep 2025 14:34:22 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Mon, 15 Sep 2025 19:57:44 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Mon, 15 Sep 2025 21:59:38 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Mon, 15 Sep 2025 23:07:51 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


log:
file_get_contents(https://blog.suumitsu.eu/feed/atom): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found


HTTP/1.1 404 Not Found
Date: Wed, 17 Sep 2025 18:27:00 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 315
Connection: close
Server: o2switch-PowerBoost-v3


