Browse Source

You are not selfhosting

Phyks (Lucas Verney) 4 years ago
parent
commit
b7a4c33a89

+ 47
- 2
blog/2015/03/index.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>
@@ -45,6 +45,51 @@
45 45
                 <div id="articles">
46 46
 <article>
47 47
 	<aside>
48
+		<p class="day">26</p>
49
+		<p class="month">Mars</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=26032015-1705
56
+    @title=“You are not selfhosting”…
57
+    @tags=Selfhost
58
+-->
59
+
60
+<p>“You are not selfhosting”… that is more or less what Laurent Guerby (founder of <a href="http://tetaneutral.net/">Tetaneutral.net</a> told me last week after a presentation <a href="http://socialismecapitalismedeuxpointzero.net/">at the ENS</a>). At first, it surprised me, because I <strong>am</strong> selfhosting. I have my own server to serve this blog, to handle my emails, to connect to IRC, to handle my XMPP account, to provide me a fully working network access and so on. Basically every part of my life on internet passes somehow through my server, so I am tempted to consider that I <strong>do</strong> selfhost.</p>
61
+<p>Plus I wrote <a href="http://phyks.me/autohebergement.html">some notes</a> (in French) about the checklist before selfhosting and the first step in selfhosting. What is the status of this document if indeed I am not selfhosting?</p>
62
+<h2>“You need two machines to selfhost, not one”</h2>
63
+<p>Actually, most people forget it when they talk about selfhosting, but to fully selfhost, you need <strong>2</strong> machines, and not only one. Indeed, if you use the cloud services from Google, Facebook, etc., your data are replicated across their datacenters. Your data are stored multiple times, in multiple places around the world and this limits the risk of data losses (both temporary, due to network issues, or permanently).</p>
64
+<p>On the contrary, if you selfhost on a single server, your data is stored only at one place, on one machine. This means that any problem on this machine will kill your entire numerical life. Some people use two servers, but at the same place (a Synology and a Raspi at home for instance). In this case, you do have data replication and you can indeed recover from a material problem, but you will run into troubles if there is a physical problem, like a fire or a simple network failure.</p>
65
+<p>Imagine you have <a href="https://en.wikipedia.org/wiki/MX_record#The_backup_MX">MX backup</a> on two machines on the same network access. If one of the server experiences problems, the other one will be able to handle emails delivery, but if the problem is on the network access, MX backup is useless.</p>
66
+<p>Same thing happen if you have a fire at home and all your devices (backupped one plus the server to store the backups) are at home. You will simply lose everything.</p>
67
+<p>Then, if you care about the service you benefit from, you should have two servers in distinct places. Else, you will not have the same quality of service as the one you would have with the standard cloud, and selfhosting is not that much interesting and not worth the price. Note that you do not need to actually <strong>own</strong> two machines: you can also use a part of a friend's server, as discussed below.</p>
68
+<p>On this part, I am backupping my server daily on a friend server (encrypted backups, so no privacy concerns to have), and we set up some redundancy as MX backups and so. Then, I have effectively two machines, so that my downtime is reduced, and I can mitigate problems with my main server.</p>
69
+<h2>“You need to be able to move quickly”</h2>
70
+<p>Another problem, often neglected (starting from my own notes) is the ability to move quickly to another place, and to fully disappear (so that noone can recover anything from your server). This, of course, depends on your hosting-provider, and if you have a one year contract with your hosting-provider, it might not be that easy (or cheap at least) to move to another server, in the end.</p>
71
+<p>The point of being able to move quickly is:</p>
72
+<ul>
73
+<li>To be able to move if you have troubles with your hosting-provider, so that you are fully free and selfhosted and not tied to your hosting-provider.</li>
74
+<li>To be able to setup a new server very quickly in case of problems (electrical failure, network problem, hard-drive failure, …), to reduce downtime.</li>
75
+</ul>
76
+<p>Reconfiguring a server is a time-consuming task, and is a real pain, so you will want to do it as less as possible, and will hence increase the dependency on your hosting-provider.</p>
77
+<p>People handling thousands of servers in the cloud use tools like <a href="https://puppetlabs.com/">Puppet</a>, <a href="http://www.ansible.com/home">Ansible</a>, <a href="https://www.chef.io/chef://www.chef.io/chef/">Chef</a> or simple shell scripts to spawn new machines upon need and replicate their config across all their machines. Even if you have only one or two machines, you should consider using it as they are rather easy to use and not reserved to use with thousands of machines. It will ease configuration, it will allow you to version your configuration and to easily spawn a new server very quickly. Combined with data backup, you can virtually spawn a working new server in a few minutes, anywhere you want, anytime you want.</p>
78
+<p>Another point to consider is also the ability to disappear quickly and prevent anyone from recovering your data, especially if you own a server provided by your hosting-provider. These are not necessarily wiped between two users, and the next one could potentially recover sensitive data from the hard drive (like emails). A simple solution (at the cost of a bit of computational power) to this is to encrypt your disk, and delete the sector storing the keys before returning the server. This way, your hard drive will just look like garbage to the next owner, and he will not be able to recover anything from it.</p>
79
+<p>Moreover, here are some other thoughts which came to me while I was thinking in the previous points.</p>
80
+<h2>Mutualization is not centralization</h2>
81
+<p>Most of the time, when we speak about selfhosting, we speak about <em>self</em> which means all the debate is focused on the user. We often oppose selfhosting (decentralization) to centralization, and focus only on the setup of <strong>one</strong> server for <strong>one</strong> user. This can be well seen in projects like <a href="http://yunohost.org/">Yunohost</a> which allows any user to setup easily its own personal server on an old machine or a Raspberry Pi, but will not offer anything else.</p>
82
+<p>However, mutualization is not centralization, and selfhosted users could benefit a lot from mutualization. Distributions like Yunohost should build a “network” of users, and offer them mutualization capabilities. For instance, one should be able to easily let 10% of his hard drive to be used for other users' backups, and benefits from the ability to replicate its backups on others servers. This way, sharing a bit of storage, one can have a distributed backup storage, resilient to network failures and server issues. This is especially easy as we have technologies which allow us to do distributed and encrypted file storage across multiple servers, such as <a href="http://tahoe-lafs.org/">Tahoe-LAFS</a>. But such solutions are not promoted at all by distributions like Yunohost…</p>
83
+<p>Indeed, maintaining two servers is quite a pain, and might cost a lot, especially if one of them is just here for backups. On the contrary, you might know someone having a server and who is ready to exchange a bit of storage, bandwidth and CPU power to mirror your services and handle backups. This network of trusted users (or not necessarily, if you use encryption and distributed file storage) is a key element of selfhosting, in my opinion, and should be promoted and made easy.</p>
84
+<h2>Trust in the server</h2>
85
+<p>Last but not least, as soon as you rent a server to someone else, you need to trust him to give you the server he advertised, and to not abuse his power. If you pay a server, you might expect to have the server you ordered, or the hosting-provider will suffer from the secret if known. But what about the configuration he sets up for you? What about judiciary requests (or not so official requests)? Will he simply give the information, the access to your server in the datacenter etc easily, or will he warn you before? These are things that should be considered, with more or less care depending on why you want your server and the way you use it. But such concerns should not be avoided and should be taken into account (although it will most likely be better than with a cloud provider, in any case).</p>
86
+<p>Possible mitigations for this point are to fully self-host your server (which means buying a server or recycle an old PC, host it at home, if your network connection is powerful enough, or rent a rack in a datacenter), but this can cost much more. Another solution is to look at associative hosting providers, such as <a href="http://tetaneutral.net/">Tetaneutral.net</a> which offers to host your server, no matter what its format is. As it is your machine, you know the material, and you can add the security level you want (such as killswitches and so on). </p>
87
+		<footer><p class="date">Le 26/03/2015 à 17:05</p>
88
+		<p class="tags">Tags : <a href="//phyks.me/tags/Selfhost.html">Selfhost</a></p></footer>
89
+	</div>
90
+</article>
91
+<article>
92
+	<aside>
48 93
 		<p class="day">14</p>
49 94
 		<p class="month">Mars</p>
50 95
 	</aside>

+ 97
- 0
blog/2015/03/you_are_not_selfhosting.html View File

@@ -0,0 +1,97 @@
1
+<!DOCTYPE html>
2
+<html lang="fr">
3
+    <head>
4
+        <meta charset="utf-8">
5
+        <title>Phyks' blog - “You are not selfhosting”…</title>
6
+		<link rel="stylesheet" href="//phyks.me/design.css"/>
7
+        <link type="text/plain" rel="author" href="//phyks.me/humans.txt"/>
8
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
+        <link rel="alternate" type="application/rss+xml" title="RSS" href="//phyks.me/rss.xml" />
10
+    </head>
11
+    <body>
12
+        <div id="wrapper">
13
+            <!-- Sidebar -->
14
+                <aside id="sidebar-wrapper">
15
+                    <header><h1><a href="//phyks.me">~Phyks</a></h1></header>
16
+
17
+                    <h2>Catégories</h2>
18
+                        <nav id="sidebar-tags">
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20
+                        </nav>
21
+
22
+                    <h2>Derniers articles</h2>
23
+                        <ul id="sidebar-articles">
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25
+                        </ul>
26
+
27
+                    <h2>Liens</h2>
28
+                        <ul id="sidebar-links">
29
+                            <li><a href="//phyks.me/contact.html" title="Contact">Me contacter</a></li>
30
+                            <li class="monospace"><a href="//links.phyks.me" title="Mon Shaarli">find ~phyks -type l</a></li>
31
+                            <li><a href="https://github.com/phyks/" rel="me" title="Github">Mon Github</a></li>
32
+                            <li><a href="//phyks.me/divers.html" title="Divers">Divers</a></li>
33
+                        </ul>
34
+                </aside>
35
+
36
+            <!-- Page content -->
37
+                <header id="header">
38
+                    <h1><a href="//phyks.me">~Phyks</a></h1>
39
+                </header>
40
+
41
+                <div id="note_responsive">
42
+                    <p><em>Note</em> : Cliquez sur la bande bleue à gauche pour faire apparaître le menu.</p>
43
+                </div>
44
+
45
+                <div id="articles">
46
+<article>
47
+	<aside>
48
+		<p class="day">26</p>
49
+		<p class="month">Mars</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=26032015-1705
56
+    @title=“You are not selfhosting”…
57
+    @tags=Selfhost
58
+-->
59
+
60
+<p>“You are not selfhosting”… that is more or less what Laurent Guerby (founder of <a href="http://tetaneutral.net/">Tetaneutral.net</a> told me last week after a presentation <a href="http://socialismecapitalismedeuxpointzero.net/">at the ENS</a>). At first, it surprised me, because I <strong>am</strong> selfhosting. I have my own server to serve this blog, to handle my emails, to connect to IRC, to handle my XMPP account, to provide me a fully working network access and so on. Basically every part of my life on internet passes somehow through my server, so I am tempted to consider that I <strong>do</strong> selfhost.</p>
61
+<p>Plus I wrote <a href="http://phyks.me/autohebergement.html">some notes</a> (in French) about the checklist before selfhosting and the first step in selfhosting. What is the status of this document if indeed I am not selfhosting?</p>
62
+<h2>“You need two machines to selfhost, not one”</h2>
63
+<p>Actually, most people forget it when they talk about selfhosting, but to fully selfhost, you need <strong>2</strong> machines, and not only one. Indeed, if you use the cloud services from Google, Facebook, etc., your data are replicated across their datacenters. Your data are stored multiple times, in multiple places around the world and this limits the risk of data losses (both temporary, due to network issues, or permanently).</p>
64
+<p>On the contrary, if you selfhost on a single server, your data is stored only at one place, on one machine. This means that any problem on this machine will kill your entire numerical life. Some people use two servers, but at the same place (a Synology and a Raspi at home for instance). In this case, you do have data replication and you can indeed recover from a material problem, but you will run into troubles if there is a physical problem, like a fire or a simple network failure.</p>
65
+<p>Imagine you have <a href="https://en.wikipedia.org/wiki/MX_record#The_backup_MX">MX backup</a> on two machines on the same network access. If one of the server experiences problems, the other one will be able to handle emails delivery, but if the problem is on the network access, MX backup is useless.</p>
66
+<p>Same thing happen if you have a fire at home and all your devices (backupped one plus the server to store the backups) are at home. You will simply lose everything.</p>
67
+<p>Then, if you care about the service you benefit from, you should have two servers in distinct places. Else, you will not have the same quality of service as the one you would have with the standard cloud, and selfhosting is not that much interesting and not worth the price. Note that you do not need to actually <strong>own</strong> two machines: you can also use a part of a friend's server, as discussed below.</p>
68
+<p>On this part, I am backupping my server daily on a friend server (encrypted backups, so no privacy concerns to have), and we set up some redundancy as MX backups and so. Then, I have effectively two machines, so that my downtime is reduced, and I can mitigate problems with my main server.</p>
69
+<h2>“You need to be able to move quickly”</h2>
70
+<p>Another problem, often neglected (starting from my own notes) is the ability to move quickly to another place, and to fully disappear (so that noone can recover anything from your server). This, of course, depends on your hosting-provider, and if you have a one year contract with your hosting-provider, it might not be that easy (or cheap at least) to move to another server, in the end.</p>
71
+<p>The point of being able to move quickly is:</p>
72
+<ul>
73
+<li>To be able to move if you have troubles with your hosting-provider, so that you are fully free and selfhosted and not tied to your hosting-provider.</li>
74
+<li>To be able to setup a new server very quickly in case of problems (electrical failure, network problem, hard-drive failure, …), to reduce downtime.</li>
75
+</ul>
76
+<p>Reconfiguring a server is a time-consuming task, and is a real pain, so you will want to do it as less as possible, and will hence increase the dependency on your hosting-provider.</p>
77
+<p>People handling thousands of servers in the cloud use tools like <a href="https://puppetlabs.com/">Puppet</a>, <a href="http://www.ansible.com/home">Ansible</a>, <a href="https://www.chef.io/chef://www.chef.io/chef/">Chef</a> or simple shell scripts to spawn new machines upon need and replicate their config across all their machines. Even if you have only one or two machines, you should consider using it as they are rather easy to use and not reserved to use with thousands of machines. It will ease configuration, it will allow you to version your configuration and to easily spawn a new server very quickly. Combined with data backup, you can virtually spawn a working new server in a few minutes, anywhere you want, anytime you want.</p>
78
+<p>Another point to consider is also the ability to disappear quickly and prevent anyone from recovering your data, especially if you own a server provided by your hosting-provider. These are not necessarily wiped between two users, and the next one could potentially recover sensitive data from the hard drive (like emails). A simple solution (at the cost of a bit of computational power) to this is to encrypt your disk, and delete the sector storing the keys before returning the server. This way, your hard drive will just look like garbage to the next owner, and he will not be able to recover anything from it.</p>
79
+<p>Moreover, here are some other thoughts which came to me while I was thinking in the previous points.</p>
80
+<h2>Mutualization is not centralization</h2>
81
+<p>Most of the time, when we speak about selfhosting, we speak about <em>self</em> which means all the debate is focused on the user. We often oppose selfhosting (decentralization) to centralization, and focus only on the setup of <strong>one</strong> server for <strong>one</strong> user. This can be well seen in projects like <a href="http://yunohost.org/">Yunohost</a> which allows any user to setup easily its own personal server on an old machine or a Raspberry Pi, but will not offer anything else.</p>
82
+<p>However, mutualization is not centralization, and selfhosted users could benefit a lot from mutualization. Distributions like Yunohost should build a “network” of users, and offer them mutualization capabilities. For instance, one should be able to easily let 10% of his hard drive to be used for other users' backups, and benefits from the ability to replicate its backups on others servers. This way, sharing a bit of storage, one can have a distributed backup storage, resilient to network failures and server issues. This is especially easy as we have technologies which allow us to do distributed and encrypted file storage across multiple servers, such as <a href="http://tahoe-lafs.org/">Tahoe-LAFS</a>. But such solutions are not promoted at all by distributions like Yunohost…</p>
83
+<p>Indeed, maintaining two servers is quite a pain, and might cost a lot, especially if one of them is just here for backups. On the contrary, you might know someone having a server and who is ready to exchange a bit of storage, bandwidth and CPU power to mirror your services and handle backups. This network of trusted users (or not necessarily, if you use encryption and distributed file storage) is a key element of selfhosting, in my opinion, and should be promoted and made easy.</p>
84
+<h2>Trust in the server</h2>
85
+<p>Last but not least, as soon as you rent a server to someone else, you need to trust him to give you the server he advertised, and to not abuse his power. If you pay a server, you might expect to have the server you ordered, or the hosting-provider will suffer from the secret if known. But what about the configuration he sets up for you? What about judiciary requests (or not so official requests)? Will he simply give the information, the access to your server in the datacenter etc easily, or will he warn you before? These are things that should be considered, with more or less care depending on why you want your server and the way you use it. But such concerns should not be avoided and should be taken into account (although it will most likely be better than with a cloud provider, in any case).</p>
86
+<p>Possible mitigations for this point are to fully self-host your server (which means buying a server or recycle an old PC, host it at home, if your network connection is powerful enough, or rent a rack in a datacenter), but this can cost much more. Another solution is to look at associative hosting providers, such as <a href="http://tetaneutral.net/">Tetaneutral.net</a> which offers to host your server, no matter what its format is. As it is your machine, you know the material, and you can add the security level you want (such as killswitches and so on). </p>
87
+		<footer><p class="date">Le 26/03/2015 à 17:05</p>
88
+		<p class="tags">Tags : <a href="//phyks.me/tags/Selfhost.html">Selfhost</a></p></footer>
89
+	</div>
90
+</article>
91
+            </div>
92
+            <footer id="rss">
93
+                <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>
94
+            </footer>
95
+        </div>
96
+    </body>
97
+</html>

+ 47
- 2
blog/2015/index.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>
@@ -45,6 +45,51 @@
45 45
                 <div id="articles">
46 46
 <article>
47 47
 	<aside>
48
+		<p class="day">26</p>
49
+		<p class="month">Mars</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=26032015-1705
56
+    @title=“You are not selfhosting”…
57
+    @tags=Selfhost
58
+-->
59
+
60
+<p>“You are not selfhosting”… that is more or less what Laurent Guerby (founder of <a href="http://tetaneutral.net/">Tetaneutral.net</a> told me last week after a presentation <a href="http://socialismecapitalismedeuxpointzero.net/">at the ENS</a>). At first, it surprised me, because I <strong>am</strong> selfhosting. I have my own server to serve this blog, to handle my emails, to connect to IRC, to handle my XMPP account, to provide me a fully working network access and so on. Basically every part of my life on internet passes somehow through my server, so I am tempted to consider that I <strong>do</strong> selfhost.</p>
61
+<p>Plus I wrote <a href="http://phyks.me/autohebergement.html">some notes</a> (in French) about the checklist before selfhosting and the first step in selfhosting. What is the status of this document if indeed I am not selfhosting?</p>
62
+<h2>“You need two machines to selfhost, not one”</h2>
63
+<p>Actually, most people forget it when they talk about selfhosting, but to fully selfhost, you need <strong>2</strong> machines, and not only one. Indeed, if you use the cloud services from Google, Facebook, etc., your data are replicated across their datacenters. Your data are stored multiple times, in multiple places around the world and this limits the risk of data losses (both temporary, due to network issues, or permanently).</p>
64
+<p>On the contrary, if you selfhost on a single server, your data is stored only at one place, on one machine. This means that any problem on this machine will kill your entire numerical life. Some people use two servers, but at the same place (a Synology and a Raspi at home for instance). In this case, you do have data replication and you can indeed recover from a material problem, but you will run into troubles if there is a physical problem, like a fire or a simple network failure.</p>
65
+<p>Imagine you have <a href="https://en.wikipedia.org/wiki/MX_record#The_backup_MX">MX backup</a> on two machines on the same network access. If one of the server experiences problems, the other one will be able to handle emails delivery, but if the problem is on the network access, MX backup is useless.</p>
66
+<p>Same thing happen if you have a fire at home and all your devices (backupped one plus the server to store the backups) are at home. You will simply lose everything.</p>
67
+<p>Then, if you care about the service you benefit from, you should have two servers in distinct places. Else, you will not have the same quality of service as the one you would have with the standard cloud, and selfhosting is not that much interesting and not worth the price. Note that you do not need to actually <strong>own</strong> two machines: you can also use a part of a friend's server, as discussed below.</p>
68
+<p>On this part, I am backupping my server daily on a friend server (encrypted backups, so no privacy concerns to have), and we set up some redundancy as MX backups and so. Then, I have effectively two machines, so that my downtime is reduced, and I can mitigate problems with my main server.</p>
69
+<h2>“You need to be able to move quickly”</h2>
70
+<p>Another problem, often neglected (starting from my own notes) is the ability to move quickly to another place, and to fully disappear (so that noone can recover anything from your server). This, of course, depends on your hosting-provider, and if you have a one year contract with your hosting-provider, it might not be that easy (or cheap at least) to move to another server, in the end.</p>
71
+<p>The point of being able to move quickly is:</p>
72
+<ul>
73
+<li>To be able to move if you have troubles with your hosting-provider, so that you are fully free and selfhosted and not tied to your hosting-provider.</li>
74
+<li>To be able to setup a new server very quickly in case of problems (electrical failure, network problem, hard-drive failure, …), to reduce downtime.</li>
75
+</ul>
76
+<p>Reconfiguring a server is a time-consuming task, and is a real pain, so you will want to do it as less as possible, and will hence increase the dependency on your hosting-provider.</p>
77
+<p>People handling thousands of servers in the cloud use tools like <a href="https://puppetlabs.com/">Puppet</a>, <a href="http://www.ansible.com/home">Ansible</a>, <a href="https://www.chef.io/chef://www.chef.io/chef/">Chef</a> or simple shell scripts to spawn new machines upon need and replicate their config across all their machines. Even if you have only one or two machines, you should consider using it as they are rather easy to use and not reserved to use with thousands of machines. It will ease configuration, it will allow you to version your configuration and to easily spawn a new server very quickly. Combined with data backup, you can virtually spawn a working new server in a few minutes, anywhere you want, anytime you want.</p>
78
+<p>Another point to consider is also the ability to disappear quickly and prevent anyone from recovering your data, especially if you own a server provided by your hosting-provider. These are not necessarily wiped between two users, and the next one could potentially recover sensitive data from the hard drive (like emails). A simple solution (at the cost of a bit of computational power) to this is to encrypt your disk, and delete the sector storing the keys before returning the server. This way, your hard drive will just look like garbage to the next owner, and he will not be able to recover anything from it.</p>
79
+<p>Moreover, here are some other thoughts which came to me while I was thinking in the previous points.</p>
80
+<h2>Mutualization is not centralization</h2>
81
+<p>Most of the time, when we speak about selfhosting, we speak about <em>self</em> which means all the debate is focused on the user. We often oppose selfhosting (decentralization) to centralization, and focus only on the setup of <strong>one</strong> server for <strong>one</strong> user. This can be well seen in projects like <a href="http://yunohost.org/">Yunohost</a> which allows any user to setup easily its own personal server on an old machine or a Raspberry Pi, but will not offer anything else.</p>
82
+<p>However, mutualization is not centralization, and selfhosted users could benefit a lot from mutualization. Distributions like Yunohost should build a “network” of users, and offer them mutualization capabilities. For instance, one should be able to easily let 10% of his hard drive to be used for other users' backups, and benefits from the ability to replicate its backups on others servers. This way, sharing a bit of storage, one can have a distributed backup storage, resilient to network failures and server issues. This is especially easy as we have technologies which allow us to do distributed and encrypted file storage across multiple servers, such as <a href="http://tahoe-lafs.org/">Tahoe-LAFS</a>. But such solutions are not promoted at all by distributions like Yunohost…</p>
83
+<p>Indeed, maintaining two servers is quite a pain, and might cost a lot, especially if one of them is just here for backups. On the contrary, you might know someone having a server and who is ready to exchange a bit of storage, bandwidth and CPU power to mirror your services and handle backups. This network of trusted users (or not necessarily, if you use encryption and distributed file storage) is a key element of selfhosting, in my opinion, and should be promoted and made easy.</p>
84
+<h2>Trust in the server</h2>
85
+<p>Last but not least, as soon as you rent a server to someone else, you need to trust him to give you the server he advertised, and to not abuse his power. If you pay a server, you might expect to have the server you ordered, or the hosting-provider will suffer from the secret if known. But what about the configuration he sets up for you? What about judiciary requests (or not so official requests)? Will he simply give the information, the access to your server in the datacenter etc easily, or will he warn you before? These are things that should be considered, with more or less care depending on why you want your server and the way you use it. But such concerns should not be avoided and should be taken into account (although it will most likely be better than with a cloud provider, in any case).</p>
86
+<p>Possible mitigations for this point are to fully self-host your server (which means buying a server or recycle an old PC, host it at home, if your network connection is powerful enough, or rent a rack in a datacenter), but this can cost much more. Another solution is to look at associative hosting providers, such as <a href="http://tetaneutral.net/">Tetaneutral.net</a> which offers to host your server, no matter what its format is. As it is your machine, you know the material, and you can add the security level you want (such as killswitches and so on). </p>
87
+		<footer><p class="date">Le 26/03/2015 à 17:05</p>
88
+		<p class="tags">Tags : <a href="//phyks.me/tags/Selfhost.html">Selfhost</a></p></footer>
89
+	</div>
90
+</article>
91
+<article>
92
+	<aside>
48 93
 		<p class="day">14</p>
49 94
 		<p class="month">Mars</p>
50 95
 	</aside>

+ 2
- 2
blog/archives.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 47
- 104
blog/index.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>
@@ -45,6 +45,51 @@
45 45
                 <div id="articles">
46 46
 <article>
47 47
 	<aside>
48
+		<p class="day">26</p>
49
+		<p class="month">Mars</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=26032015-1705
56
+    @title=“You are not selfhosting”…
57
+    @tags=Selfhost
58
+-->
59
+
60
+<p>“You are not selfhosting”… that is more or less what Laurent Guerby (founder of <a href="http://tetaneutral.net/">Tetaneutral.net</a> told me last week after a presentation <a href="http://socialismecapitalismedeuxpointzero.net/">at the ENS</a>). At first, it surprised me, because I <strong>am</strong> selfhosting. I have my own server to serve this blog, to handle my emails, to connect to IRC, to handle my XMPP account, to provide me a fully working network access and so on. Basically every part of my life on internet passes somehow through my server, so I am tempted to consider that I <strong>do</strong> selfhost.</p>
61
+<p>Plus I wrote <a href="http://phyks.me/autohebergement.html">some notes</a> (in French) about the checklist before selfhosting and the first step in selfhosting. What is the status of this document if indeed I am not selfhosting?</p>
62
+<h2>“You need two machines to selfhost, not one”</h2>
63
+<p>Actually, most people forget it when they talk about selfhosting, but to fully selfhost, you need <strong>2</strong> machines, and not only one. Indeed, if you use the cloud services from Google, Facebook, etc., your data are replicated across their datacenters. Your data are stored multiple times, in multiple places around the world and this limits the risk of data losses (both temporary, due to network issues, or permanently).</p>
64
+<p>On the contrary, if you selfhost on a single server, your data is stored only at one place, on one machine. This means that any problem on this machine will kill your entire numerical life. Some people use two servers, but at the same place (a Synology and a Raspi at home for instance). In this case, you do have data replication and you can indeed recover from a material problem, but you will run into troubles if there is a physical problem, like a fire or a simple network failure.</p>
65
+<p>Imagine you have <a href="https://en.wikipedia.org/wiki/MX_record#The_backup_MX">MX backup</a> on two machines on the same network access. If one of the server experiences problems, the other one will be able to handle emails delivery, but if the problem is on the network access, MX backup is useless.</p>
66
+<p>Same thing happen if you have a fire at home and all your devices (backupped one plus the server to store the backups) are at home. You will simply lose everything.</p>
67
+<p>Then, if you care about the service you benefit from, you should have two servers in distinct places. Else, you will not have the same quality of service as the one you would have with the standard cloud, and selfhosting is not that much interesting and not worth the price. Note that you do not need to actually <strong>own</strong> two machines: you can also use a part of a friend's server, as discussed below.</p>
68
+<p>On this part, I am backupping my server daily on a friend server (encrypted backups, so no privacy concerns to have), and we set up some redundancy as MX backups and so. Then, I have effectively two machines, so that my downtime is reduced, and I can mitigate problems with my main server.</p>
69
+<h2>“You need to be able to move quickly”</h2>
70
+<p>Another problem, often neglected (starting from my own notes) is the ability to move quickly to another place, and to fully disappear (so that noone can recover anything from your server). This, of course, depends on your hosting-provider, and if you have a one year contract with your hosting-provider, it might not be that easy (or cheap at least) to move to another server, in the end.</p>
71
+<p>The point of being able to move quickly is:</p>
72
+<ul>
73
+<li>To be able to move if you have troubles with your hosting-provider, so that you are fully free and selfhosted and not tied to your hosting-provider.</li>
74
+<li>To be able to setup a new server very quickly in case of problems (electrical failure, network problem, hard-drive failure, …), to reduce downtime.</li>
75
+</ul>
76
+<p>Reconfiguring a server is a time-consuming task, and is a real pain, so you will want to do it as less as possible, and will hence increase the dependency on your hosting-provider.</p>
77
+<p>People handling thousands of servers in the cloud use tools like <a href="https://puppetlabs.com/">Puppet</a>, <a href="http://www.ansible.com/home">Ansible</a>, <a href="https://www.chef.io/chef://www.chef.io/chef/">Chef</a> or simple shell scripts to spawn new machines upon need and replicate their config across all their machines. Even if you have only one or two machines, you should consider using it as they are rather easy to use and not reserved to use with thousands of machines. It will ease configuration, it will allow you to version your configuration and to easily spawn a new server very quickly. Combined with data backup, you can virtually spawn a working new server in a few minutes, anywhere you want, anytime you want.</p>
78
+<p>Another point to consider is also the ability to disappear quickly and prevent anyone from recovering your data, especially if you own a server provided by your hosting-provider. These are not necessarily wiped between two users, and the next one could potentially recover sensitive data from the hard drive (like emails). A simple solution (at the cost of a bit of computational power) to this is to encrypt your disk, and delete the sector storing the keys before returning the server. This way, your hard drive will just look like garbage to the next owner, and he will not be able to recover anything from it.</p>
79
+<p>Moreover, here are some other thoughts which came to me while I was thinking in the previous points.</p>
80
+<h2>Mutualization is not centralization</h2>
81
+<p>Most of the time, when we speak about selfhosting, we speak about <em>self</em> which means all the debate is focused on the user. We often oppose selfhosting (decentralization) to centralization, and focus only on the setup of <strong>one</strong> server for <strong>one</strong> user. This can be well seen in projects like <a href="http://yunohost.org/">Yunohost</a> which allows any user to setup easily its own personal server on an old machine or a Raspberry Pi, but will not offer anything else.</p>
82
+<p>However, mutualization is not centralization, and selfhosted users could benefit a lot from mutualization. Distributions like Yunohost should build a “network” of users, and offer them mutualization capabilities. For instance, one should be able to easily let 10% of his hard drive to be used for other users' backups, and benefits from the ability to replicate its backups on others servers. This way, sharing a bit of storage, one can have a distributed backup storage, resilient to network failures and server issues. This is especially easy as we have technologies which allow us to do distributed and encrypted file storage across multiple servers, such as <a href="http://tahoe-lafs.org/">Tahoe-LAFS</a>. But such solutions are not promoted at all by distributions like Yunohost…</p>
83
+<p>Indeed, maintaining two servers is quite a pain, and might cost a lot, especially if one of them is just here for backups. On the contrary, you might know someone having a server and who is ready to exchange a bit of storage, bandwidth and CPU power to mirror your services and handle backups. This network of trusted users (or not necessarily, if you use encryption and distributed file storage) is a key element of selfhosting, in my opinion, and should be promoted and made easy.</p>
84
+<h2>Trust in the server</h2>
85
+<p>Last but not least, as soon as you rent a server to someone else, you need to trust him to give you the server he advertised, and to not abuse his power. If you pay a server, you might expect to have the server you ordered, or the hosting-provider will suffer from the secret if known. But what about the configuration he sets up for you? What about judiciary requests (or not so official requests)? Will he simply give the information, the access to your server in the datacenter etc easily, or will he warn you before? These are things that should be considered, with more or less care depending on why you want your server and the way you use it. But such concerns should not be avoided and should be taken into account (although it will most likely be better than with a cloud provider, in any case).</p>
86
+<p>Possible mitigations for this point are to fully self-host your server (which means buying a server or recycle an old PC, host it at home, if your network connection is powerful enough, or rent a rack in a datacenter), but this can cost much more. Another solution is to look at associative hosting providers, such as <a href="http://tetaneutral.net/">Tetaneutral.net</a> which offers to host your server, no matter what its format is. As it is your machine, you know the material, and you can add the security level you want (such as killswitches and so on). </p>
87
+		<footer><p class="date">Le 26/03/2015 à 17:05</p>
88
+		<p class="tags">Tags : <a href="//phyks.me/tags/Selfhost.html">Selfhost</a></p></footer>
89
+	</div>
90
+</article>
91
+<article>
92
+	<aside>
48 93
 		<p class="day">14</p>
49 94
 		<p class="month">Mars</p>
50 95
 	</aside>
@@ -989,108 +1034,6 @@ iptables -A POSTROUTING -t nat -j MASQUERADE
989 1034
 		<p class="tags">Tags : <a href="//phyks.me/tags/Libre.html">Libre</a></p></footer>
990 1035
 	</div>
991 1036
 </article>
992
-<article>
993
-	<aside>
994
-		<p class="day">24</p>
995
-		<p class="month">Juillet</p>
996
-	</aside>
997
-	<div class="article">
998
-		<header><h1 class="article_title"><a href="//phyks.me/2014/07/inline_diff.html">Lister des corrections en ligne</a></h1></header>
999
-		<!--
1000
-	@author=Phyks
1001
-	@date=24072014-2235
1002
-	@title=Lister des corrections en ligne
1003
-	@tags=Dev
1004
--->
1005
-<p>Il m'arrive souvent de corriger des documents textes et de devoir noter facilement les fautes d'orthographe. Idéalement:</p>
1006
-<ul>
1007
-    <li>Un humain devrait être capable de le lire sans difficultés.</li>
1008
-    <li>Une machine devrait pouvoir le <em>parser</em> facilement pour effectuer la correction elle-même.</li>
1009
-    <li>Le correcteur devrait avoir un minimum de mots à recopier.</li>
1010
-</ul>
1011
-
1012
-<p>Une solution est de corriger directement le document, puis de faire un <em>diff</em>. Ça marche, mais ce n'est pas des plus pratiques (on n'a pas forcément <em>diff</em> partout par exemple, ou encore le texte source n'est pas disponible pour du Markdown ou du LaTeX) et c'est quand même pas le plus lisible pour le destinataire. Pour résoudre ce problème, on peut utiliser <a href="etherpad.org"><em>etherpad</em></a> (dont une instance est disponible chez <a href="http://framapad.org/">FramaSoft</a> pour ceux qui ne veulent pas auto-héberger) par exemple, qui va garder les corrections en couleur et ce sera donc très lisible.</p>
1013
-
1014
-<p>Ceci dit, j'utilise une autre solution, qui ne nécessite qu'un éditeur de texte brut, et qui, un peu comme Markdown, est facilement lisible par un humain ou une machine. Je ne suis sûrement pas le seul à l'utiliser, et ça n'a sûrement pas grand chose d'extraordinaire, mais si jamais ça peut servir à d'autres personnes… (au moins à ceux à qui j'envoie mes corrections dans ce format ^^)</p>
1015
-
1016
-<p>Le plus simple est de partir d'un exemple. Considérons le texte suivant:</p>
1017
-<blockquote>Cec est un text de démonstratin. Comme vous pouvez aisément le constater il y a quelques lettres manquntes et quelqueslettres en troap ou des mauvaises lettres. C'est donc un bon exiample.</blockquote>
1018
-
1019
-<p>Évidemment, le texte corrigé est:</p>
1020
-<blockquote>Ceci est un texte de démonstration. Comme vous pouvez le constater aisément il y a quelques lettres manquantes et quelques lettres en trop ou des mauvaises lettres. C'est donc un bon exemple.</blockquote>
1021
-
1022
-<p>Pour ce texte, ma proposition de correction serait:</p>
1023
-<pre>Cec(+i)
1024
-text(+e)
1025
-démonstrati(+o)n
1026
-manqu(+a)ntes
1027
-quelques(+ )lettres
1028
-tro(-a)p
1029
-ex(-ia+e)mple</pre>
1030
-
1031
-<p>Avec cette méthode, la correction est très courte, facilement lisible et très vite écrite. Détaillons-la un peu plus.</p>
1032
-
1033
-<p>Premier constat: il est très rare d'avoir des parenthèses au sein d'un mot. Et quand il y a des parenthèses, il n'y a jamais (en français correctement typographié, sauf erreur de ma part) un + ou un - qui suit une parenthèse ouvrante. On va donc englober dans des parenthèses nos corrections, directement au sein du mot. Au sein d'une parenthèse, on commencera toujours par le symbole - suivi de la lettre (ou des lettres consécutives) à retirer, s'il y a lieu. Puis viendra le symbole + suivi des lettres à insérer à la place dans le mot.</p>
1034
-
1035
-<p>Quand il manque une lettre dans le mot, elle est dans le champ de vision au sein de la parenthèse quand on lit le mot, et la lecture du mot est facilitée, tout en voyant immédiatement qu'il y a une faute à cet endroit. Quand il y a une lettre en trop, il suffit de ne pas lire la parenthèse pour avoir le mot complet bien écrit. Quand il y a eu une substitution, les lettres à insérer sont après le +, et les lettres à retirer sont après le -. La lecture d'un tel <em>diff</em> est donc très facile.</p>
1036
-
1037
-<p>Pour un ordinateur, il est également très facile de lire un tel diff. Le code serait le suivant:</p>
1038
-<ul>
1039
-    <li>Découper le texte en mots.</li>
1040
-    <li>Pour chaque mot, regarder s'il y a un (ou plusieurs) groupe(s) de parenthèses contenant des + et des -, au format précédent.</li>
1041
-    <li>Pour chaque mot qui en contient, retirer les caractères suivant le - et ajouter ceux suivant le +.</li>
1042
-</ul>
1043
-
1044
-<p>Une implémentation basique (et mal codée) en Python qui traite un mot serait :</p>
1045
-<code><pre>def inline_diff(word):
1046
-    index = word.find('(-')
1047
-    if index == -1:
1048
-        index = word.find('(+')
1049
-    if index == -1:
1050
-        return word
1051
-
1052
-    index_end = word.find(')', index)
1053
-    if index_end == -1:
1054
-        return False
1055
-
1056
-    output = word[:index]
1057
-    action = 'add'
1058
-    for i in range(index, index_end):
1059
-        if word[i] == '(':
1060
-            continue
1061
-        elif word[i] == '-':
1062
-            action = 'remove'
1063
-        elif word[i] == '+':
1064
-            action = 'add'
1065
-        else:
1066
-            if action == 'remove':
1067
-                continue
1068
-            else:
1069
-                output += word[i]
1070
-    output += word[index_end+1:]
1071
-    return inline_diff(output)</pre></code>
1072
-
1073
-<p>Il reste à traiter le cas d'un diff complet. Plutôt que de fournir le texte complet, on peut se contenter de fournir une liste des corrections, comme la liste précédente, par ordre d'apparition dans le texte. Avec très peu de précautions nécessaires, une telle liste pourrait être traitée directement par un ordinateur pour apporter les corrections.</p>
1074
-
1075
-
1076
-<p><strong>Mise à jour :</strong> Enfin, n'oublions pas d'aborder quelques limitations de ce système:</p>
1077
-<ul>
1078
-    <li>Si le texte possède deux orthographes d'un mot, il faut prendre des précautions pour la correction. En particulier, il faut rappeler le mot à corriger autant de fois qu'il y a de corrections à faire, et on ne peut pas faire d'option <em>greedy</em>. Cependant, ceci devrait déjà être le cas si vous utilisez la méthode décrite précédemment.</li>
1079
-    <li>Dans le cas du texte suivant:
1080
-<blockquote>Il existe des fois où la technique peut être utilisée moyennant quelques précautions. Dans cet exemple, les technique précédentes ne fonctionneront pas sans précautions.</blockquote>
1081
-Si on utilise <span class="monospace">technique(+s)</span>, c'est la première qui sera remplacée. Il faut donc étendre cette méthode pour traiter un contexte suffisant pour effectuer le remplacement sans ambiguïtés. Le <em>diff</em> adéquat serait:
1082
-<pre>les technique(+s)</pre>.</li>
1083
-    <li>On ne peut pas déplacer de mots facilement avec cette méthode. Plus exactement, c'est possible mais n'est pas optimal. Considérons le texte suivant:
1084
-        <blockquote>Dans ce texte, les sont mots inversés.</blockquote>
1085
-        Moyennant une implémentation un peu plus large de l'algorithme, on pourrait utiliser la méthode précédente comme ceci, pour corriger cette phrase:
1086
-        <pre>les (-sont) mots (+sont)</pre>
1087
-        car rien n'interdit à un mot d'être entièrement supprimé ou ajouté.</lu>
1088
-</ul>
1089
-
1090
-		<footer><p class="date">Le 24/07/2014 à 22:35</p>
1091
-		<p class="tags">Tags : <a href="//phyks.me/tags/Dev.html">Dev</a></p></footer>
1092
-	</div>
1093
-</article>
1094 1037
 <p class="archives"><a href="//phyks.me/archives.html">Archives</a></p>            </div>
1095 1038
             <footer id="rss">
1096 1039
                 <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>

+ 52
- 92
blog/rss.xml View File

@@ -7,7 +7,58 @@
7 7
 		<language>fr</language>
8 8
 		<copyright>CC BY</copyright>
9 9
 		<webMaster>webmaster@phyks.me (Phyks)</webMaster>
10
-		<lastBuildDate>Fri, 13 Mar 2015 22:37:19 -0000</lastBuildDate>
10
+		<lastBuildDate>Thu, 26 Mar 2015 15:06:01 -0000</lastBuildDate>
11
+		<item>
12
+			<title>“You are not selfhosting”…</title>
13
+			<link>http://phyks.me/2015/03/you_are_not_selfhosting.html</link>
14
+			<guid isPermaLink="true">http://phyks.me/2015/03/you_are_not_selfhosting.html</guid>
15
+			<description>
16
+
17
+
18
+
19
+“You are not selfhosting”… that is more or less what Laurent Guerby (founder of Tetaneutral.net told me last week after a presentation at the ENS…</description>
20
+			<content:encoded><![CDATA[<div class="article">
21
+<header></header>
22
+<!-- 
23
+    @author=Phyks
24
+    @date=26032015-1705
25
+    @title=“You are not selfhosting”…
26
+    @tags=Selfhost
27
+-->
28
+<p>“You are not selfhosting”… that is more or less what Laurent Guerby (founder of <a href="http://tetaneutral.net/">Tetaneutral.net</a> told me last week after a presentation <a href="http://socialismecapitalismedeuxpointzero.net/">at the ENS</a>). At first, it surprised me, because I <strong>am</strong> selfhosting. I have my own server to serve this blog, to handle my emails, to connect to IRC, to handle my XMPP account, to provide me a fully working network access and so on. Basically every part of my life on internet passes somehow through my server, so I am tempted to consider that I <strong>do</strong> selfhost.</p>
29
+<p>Plus I wrote <a href="http://phyks.me/autohebergement.html">some notes</a> (in French) about the checklist before selfhosting and the first step in selfhosting. What is the status of this document if indeed I am not selfhosting?</p>
30
+<h2>“You need two machines to selfhost, not one”</h2>
31
+<p>Actually, most people forget it when they talk about selfhosting, but to fully selfhost, you need <strong>2</strong> machines, and not only one. Indeed, if you use the cloud services from Google, Facebook, etc., your data are replicated across their datacenters. Your data are stored multiple times, in multiple places around the world and this limits the risk of data losses (both temporary, due to network issues, or permanently).</p>
32
+<p>On the contrary, if you selfhost on a single server, your data is stored only at one place, on one machine. This means that any problem on this machine will kill your entire numerical life. Some people use two servers, but at the same place (a Synology and a Raspi at home for instance). In this case, you do have data replication and you can indeed recover from a material problem, but you will run into troubles if there is a physical problem, like a fire or a simple network failure.</p>
33
+<p>Imagine you have <a href="https://en.wikipedia.org/wiki/MX_record#The_backup_MX">MX backup</a> on two machines on the same network access. If one of the server experiences problems, the other one will be able to handle emails delivery, but if the problem is on the network access, MX backup is useless.</p>
34
+<p>Same thing happen if you have a fire at home and all your devices (backupped one plus the server to store the backups) are at home. You will simply lose everything.</p>
35
+<p>Then, if you care about the service you benefit from, you should have two servers in distinct places. Else, you will not have the same quality of service as the one you would have with the standard cloud, and selfhosting is not that much interesting and not worth the price. Note that you do not need to actually <strong>own</strong> two machines: you can also use a part of a friend's server, as discussed below.</p>
36
+<p>On this part, I am backupping my server daily on a friend server (encrypted backups, so no privacy concerns to have), and we set up some redundancy as MX backups and so. Then, I have effectively two machines, so that my downtime is reduced, and I can mitigate problems with my main server.</p>
37
+<h2>“You need to be able to move quickly”</h2>
38
+<p>Another problem, often neglected (starting from my own notes) is the ability to move quickly to another place, and to fully disappear (so that noone can recover anything from your server). This, of course, depends on your hosting-provider, and if you have a one year contract with your hosting-provider, it might not be that easy (or cheap at least) to move to another server, in the end.</p>
39
+<p>The point of being able to move quickly is:</p>
40
+<ul>
41
+<li>To be able to move if you have troubles with your hosting-provider, so that you are fully free and selfhosted and not tied to your hosting-provider.</li>
42
+<li>To be able to setup a new server very quickly in case of problems (electrical failure, network problem, hard-drive failure, …), to reduce downtime.</li>
43
+</ul>
44
+<p>Reconfiguring a server is a time-consuming task, and is a real pain, so you will want to do it as less as possible, and will hence increase the dependency on your hosting-provider.</p>
45
+<p>People handling thousands of servers in the cloud use tools like <a href="https://puppetlabs.com/">Puppet</a>, <a href="http://www.ansible.com/home">Ansible</a>, <a href="https://www.chef.io/chef://www.chef.io/chef/">Chef</a> or simple shell scripts to spawn new machines upon need and replicate their config across all their machines. Even if you have only one or two machines, you should consider using it as they are rather easy to use and not reserved to use with thousands of machines. It will ease configuration, it will allow you to version your configuration and to easily spawn a new server very quickly. Combined with data backup, you can virtually spawn a working new server in a few minutes, anywhere you want, anytime you want.</p>
46
+<p>Another point to consider is also the ability to disappear quickly and prevent anyone from recovering your data, especially if you own a server provided by your hosting-provider. These are not necessarily wiped between two users, and the next one could potentially recover sensitive data from the hard drive (like emails). A simple solution (at the cost of a bit of computational power) to this is to encrypt your disk, and delete the sector storing the keys before returning the server. This way, your hard drive will just look like garbage to the next owner, and he will not be able to recover anything from it.</p>
47
+<p>Moreover, here are some other thoughts which came to me while I was thinking in the previous points.</p>
48
+<h2>Mutualization is not centralization</h2>
49
+<p>Most of the time, when we speak about selfhosting, we speak about <em>self</em> which means all the debate is focused on the user. We often oppose selfhosting (decentralization) to centralization, and focus only on the setup of <strong>one</strong> server for <strong>one</strong> user. This can be well seen in projects like <a href="http://yunohost.org/">Yunohost</a> which allows any user to setup easily its own personal server on an old machine or a Raspberry Pi, but will not offer anything else.</p>
50
+<p>However, mutualization is not centralization, and selfhosted users could benefit a lot from mutualization. Distributions like Yunohost should build a “network” of users, and offer them mutualization capabilities. For instance, one should be able to easily let 10% of his hard drive to be used for other users' backups, and benefits from the ability to replicate its backups on others servers. This way, sharing a bit of storage, one can have a distributed backup storage, resilient to network failures and server issues. This is especially easy as we have technologies which allow us to do distributed and encrypted file storage across multiple servers, such as <a href="http://tahoe-lafs.org/">Tahoe-LAFS</a>. But such solutions are not promoted at all by distributions like Yunohost…</p>
51
+<p>Indeed, maintaining two servers is quite a pain, and might cost a lot, especially if one of them is just here for backups. On the contrary, you might know someone having a server and who is ready to exchange a bit of storage, bandwidth and CPU power to mirror your services and handle backups. This network of trusted users (or not necessarily, if you use encryption and distributed file storage) is a key element of selfhosting, in my opinion, and should be promoted and made easy.</p>
52
+<h2>Trust in the server</h2>
53
+<p>Last but not least, as soon as you rent a server to someone else, you need to trust him to give you the server he advertised, and to not abuse his power. If you pay a server, you might expect to have the server you ordered, or the hosting-provider will suffer from the secret if known. But what about the configuration he sets up for you? What about judiciary requests (or not so official requests)? Will he simply give the information, the access to your server in the datacenter etc easily, or will he warn you before? These are things that should be considered, with more or less care depending on why you want your server and the way you use it. But such concerns should not be avoided and should be taken into account (although it will most likely be better than with a cloud provider, in any case).</p>
54
+<p>Possible mitigations for this point are to fully self-host your server (which means buying a server or recycle an old PC, host it at home, if your network connection is powerful enough, or rent a rack in a datacenter), but this can cost much more. Another solution is to look at associative hosting providers, such as <a href="http://tetaneutral.net/">Tetaneutral.net</a> which offers to host your server, no matter what its format is. As it is your machine, you know the material, and you can add the security level you want (such as killswitches and so on). </p>
55
+<footer>
56
+<p class="tags">Tags : <a href="http://phyks.me/tags/Selfhost.html">Selfhost</a></p></footer>
57
+</div>]]></content:encoded>
58
+			<pubDate>Thu, 26 Mar 2015 15:05:00 -0000</pubDate>
59
+			<category>Selfhost</category>
60
+			<author>webmaster@phyks.me (Phyks)</author>
61
+		</item>
11 62
 		<item>
12 63
 			<title>TupperVim du 03/03/2015</title>
13 64
 			<link>http://phyks.me/2015/03/tuppervim_1503.html</link>
@@ -1027,96 +1078,5 @@ Edit : Cela fait bientôt une semaine que l'API Free me renvoie un 402, en bouc
1027 1078
 			<category>Libre</category>
1028 1079
 			<author>webmaster@phyks.me (Phyks)</author>
1029 1080
 		</item>
1030
-		<item>
1031
-			<title>Lister des corrections en ligne</title>
1032
-			<link>http://phyks.me/2014/07/inline_diff.html</link>
1033
-			<guid isPermaLink="true">http://phyks.me/2014/07/inline_diff.html</guid>
1034
-			<description>
1035
-
1036
-
1037
-
1038
-Il m'arrive souvent de corriger des documents textes et de devoir noter facilement les fautes d'orthograph…</description>
1039
-			<content:encoded><![CDATA[<div class="article">
1040
-<header></header>
1041
-<!--
1042
-	@author=Phyks
1043
-	@date=24072014-2235
1044
-	@title=Lister des corrections en ligne
1045
-	@tags=Dev
1046
--->
1047
-<p>Il m'arrive souvent de corriger des documents textes et de devoir noter facilement les fautes d'orthographe. Idéalement:</p>
1048
-<ul>
1049
-<li>Un humain devrait être capable de le lire sans difficultés.</li>
1050
-<li>Une machine devrait pouvoir le <em>parser</em> facilement pour effectuer la correction elle-même.</li>
1051
-<li>Le correcteur devrait avoir un minimum de mots à recopier.</li>
1052
-</ul>
1053
-<p>Une solution est de corriger directement le document, puis de faire un <em>diff</em>. Ça marche, mais ce n'est pas des plus pratiques (on n'a pas forcément <em>diff</em> partout par exemple, ou encore le texte source n'est pas disponible pour du Markdown ou du LaTeX) et c'est quand même pas le plus lisible pour le destinataire. Pour résoudre ce problème, on peut utiliser <a href="etherpad.org"><em>etherpad</em></a> (dont une instance est disponible chez <a href="http://framapad.org/">FramaSoft</a> pour ceux qui ne veulent pas auto-héberger) par exemple, qui va garder les corrections en couleur et ce sera donc très lisible.</p>
1054
-<p>Ceci dit, j'utilise une autre solution, qui ne nécessite qu'un éditeur de texte brut, et qui, un peu comme Markdown, est facilement lisible par un humain ou une machine. Je ne suis sûrement pas le seul à l'utiliser, et ça n'a sûrement pas grand chose d'extraordinaire, mais si jamais ça peut servir à d'autres personnes… (au moins à ceux à qui j'envoie mes corrections dans ce format ^^)</p>
1055
-<p>Le plus simple est de partir d'un exemple. Considérons le texte suivant:</p>
1056
-<blockquote>Cec est un text de démonstratin. Comme vous pouvez aisément le constater il y a quelques lettres manquntes et quelqueslettres en troap ou des mauvaises lettres. C'est donc un bon exiample.</blockquote>
1057
-<p>Évidemment, le texte corrigé est:</p>
1058
-<blockquote>Ceci est un texte de démonstration. Comme vous pouvez le constater aisément il y a quelques lettres manquantes et quelques lettres en trop ou des mauvaises lettres. C'est donc un bon exemple.</blockquote>
1059
-<p>Pour ce texte, ma proposition de correction serait:</p>
1060
-<pre>Cec(+i)
1061
-text(+e)
1062
-démonstrati(+o)n
1063
-manqu(+a)ntes
1064
-quelques(+ )lettres
1065
-tro(-a)p
1066
-ex(-ia+e)mple</pre>
1067
-<p>Avec cette méthode, la correction est très courte, facilement lisible et très vite écrite. Détaillons-la un peu plus.</p>
1068
-<p>Premier constat: il est très rare d'avoir des parenthèses au sein d'un mot. Et quand il y a des parenthèses, il n'y a jamais (en français correctement typographié, sauf erreur de ma part) un + ou un - qui suit une parenthèse ouvrante. On va donc englober dans des parenthèses nos corrections, directement au sein du mot. Au sein d'une parenthèse, on commencera toujours par le symbole - suivi de la lettre (ou des lettres consécutives) à retirer, s'il y a lieu. Puis viendra le symbole + suivi des lettres à insérer à la place dans le mot.</p>
1069
-<p>Quand il manque une lettre dans le mot, elle est dans le champ de vision au sein de la parenthèse quand on lit le mot, et la lecture du mot est facilitée, tout en voyant immédiatement qu'il y a une faute à cet endroit. Quand il y a une lettre en trop, il suffit de ne pas lire la parenthèse pour avoir le mot complet bien écrit. Quand il y a eu une substitution, les lettres à insérer sont après le +, et les lettres à retirer sont après le -. La lecture d'un tel <em>diff</em> est donc très facile.</p>
1070
-<p>Pour un ordinateur, il est également très facile de lire un tel diff. Le code serait le suivant:</p>
1071
-<ul>
1072
-<li>Découper le texte en mots.</li>
1073
-<li>Pour chaque mot, regarder s'il y a un (ou plusieurs) groupe(s) de parenthèses contenant des + et des -, au format précédent.</li>
1074
-<li>Pour chaque mot qui en contient, retirer les caractères suivant le - et ajouter ceux suivant le +.</li>
1075
-</ul>
1076
-<p>Une implémentation basique (et mal codée) en Python qui traite un mot serait :</p>
1077
-<code><pre>def inline_diff(word):
1078
-    index = word.find('(-')
1079
-    if index == -1:
1080
-        index = word.find('(+')
1081
-    if index == -1:
1082
-        return word
1083
-
1084
-    index_end = word.find(')', index)
1085
-    if index_end == -1:
1086
-        return False
1087
-
1088
-    output = word[:index]
1089
-    action = 'add'
1090
-    for i in range(index, index_end):
1091
-        if word[i] == '(':
1092
-            continue
1093
-        elif word[i] == '-':
1094
-            action = 'remove'
1095
-        elif word[i] == '+':
1096
-            action = 'add'
1097
-        else:
1098
-            if action == 'remove':
1099
-                continue
1100
-            else:
1101
-                output += word[i]
1102
-    output += word[index_end+1:]
1103
-    return inline_diff(output)</pre></code>
1104
-<p>Il reste à traiter le cas d'un diff complet. Plutôt que de fournir le texte complet, on peut se contenter de fournir une liste des corrections, comme la liste précédente, par ordre d'apparition dans le texte. Avec très peu de précautions nécessaires, une telle liste pourrait être traitée directement par un ordinateur pour apporter les corrections.</p>
1105
-<p><strong>Mise à jour :</strong> Enfin, n'oublions pas d'aborder quelques limitations de ce système:</p>
1106
-<ul>
1107
-<li>Si le texte possède deux orthographes d'un mot, il faut prendre des précautions pour la correction. En particulier, il faut rappeler le mot à corriger autant de fois qu'il y a de corrections à faire, et on ne peut pas faire d'option <em>greedy</em>. Cependant, ceci devrait déjà être le cas si vous utilisez la méthode décrite précédemment.</li>
1108
-<li>Dans le cas du texte suivant:
1109
-<blockquote>Il existe des fois où la technique peut être utilisée moyennant quelques précautions. Dans cet exemple, les technique précédentes ne fonctionneront pas sans précautions.</blockquote>
1110
-Si on utilise <span class="monospace">technique(+s)</span>, c'est la première qui sera remplacée. Il faut donc étendre cette méthode pour traiter un contexte suffisant pour effectuer le remplacement sans ambiguïtés. Le <em>diff</em> adéquat serait:
1111
-<pre>les technique(+s)</pre>.</li>
1112
-<li>On ne peut pas déplacer de mots facilement avec cette méthode. Plus exactement, c'est possible mais n'est pas optimal. Considérons le texte suivant:
1113
-        <blockquote>Dans ce texte, les sont mots inversés.</blockquote>
1114
-        Moyennant une implémentation un peu plus large de l'algorithme, on pourrait utiliser la méthode précédente comme ceci, pour corriger cette phrase:
1115
-        <pre>les (-sont) mots (+sont)</pre>
1116
-        car rien n'interdit à un mot d'être entièrement supprimé ou ajouté.</li></ul></div>]]></content:encoded>
1117
-			<pubDate>Thu, 24 Jul 2014 19:35:00 -0000</pubDate>
1118
-			<category>Dev</category>
1119
-			<author>webmaster@phyks.me (Phyks)</author>
1120
-		</item>
1121 1081
 	</channel>
1122 1082
 </rss>

+ 2
- 2
blog/tags/Arch.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Autohébergement.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/DIY.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Dev.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/GeoData.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Known.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Libre.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Linux.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Phyks.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 97
- 0
blog/tags/Selfhost.html View File

@@ -0,0 +1,97 @@
1
+<!DOCTYPE html>
2
+<html lang="fr">
3
+    <head>
4
+        <meta charset="utf-8">
5
+        <title>Phyks' blog - tags/Selfhost</title>
6
+		<link rel="stylesheet" href="//phyks.me/design.css"/>
7
+        <link type="text/plain" rel="author" href="//phyks.me/humans.txt"/>
8
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
+        <link rel="alternate" type="application/rss+xml" title="RSS" href="//phyks.me/rss.xml" />
10
+    </head>
11
+    <body>
12
+        <div id="wrapper">
13
+            <!-- Sidebar -->
14
+                <aside id="sidebar-wrapper">
15
+                    <header><h1><a href="//phyks.me">~Phyks</a></h1></header>
16
+
17
+                    <h2>Catégories</h2>
18
+                        <nav id="sidebar-tags">
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20
+                        </nav>
21
+
22
+                    <h2>Derniers articles</h2>
23
+                        <ul id="sidebar-articles">
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25
+                        </ul>
26
+
27
+                    <h2>Liens</h2>
28
+                        <ul id="sidebar-links">
29
+                            <li><a href="//phyks.me/contact.html" title="Contact">Me contacter</a></li>
30
+                            <li class="monospace"><a href="//links.phyks.me" title="Mon Shaarli">find ~phyks -type l</a></li>
31
+                            <li><a href="https://github.com/phyks/" rel="me" title="Github">Mon Github</a></li>
32
+                            <li><a href="//phyks.me/divers.html" title="Divers">Divers</a></li>
33
+                        </ul>
34
+                </aside>
35
+
36
+            <!-- Page content -->
37
+                <header id="header">
38
+                    <h1><a href="//phyks.me">~Phyks</a></h1>
39
+                </header>
40
+
41
+                <div id="note_responsive">
42
+                    <p><em>Note</em> : Cliquez sur la bande bleue à gauche pour faire apparaître le menu.</p>
43
+                </div>
44
+
45
+                <div id="articles">
46
+<article>
47
+	<aside>
48
+		<p class="day">26</p>
49
+		<p class="month">Mars</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=26032015-1705
56
+    @title=“You are not selfhosting”…
57
+    @tags=Selfhost
58
+-->
59
+
60
+<p>“You are not selfhosting”… that is more or less what Laurent Guerby (founder of <a href="http://tetaneutral.net/">Tetaneutral.net</a> told me last week after a presentation <a href="http://socialismecapitalismedeuxpointzero.net/">at the ENS</a>). At first, it surprised me, because I <strong>am</strong> selfhosting. I have my own server to serve this blog, to handle my emails, to connect to IRC, to handle my XMPP account, to provide me a fully working network access and so on. Basically every part of my life on internet passes somehow through my server, so I am tempted to consider that I <strong>do</strong> selfhost.</p>
61
+<p>Plus I wrote <a href="http://phyks.me/autohebergement.html">some notes</a> (in French) about the checklist before selfhosting and the first step in selfhosting. What is the status of this document if indeed I am not selfhosting?</p>
62
+<h2>“You need two machines to selfhost, not one”</h2>
63
+<p>Actually, most people forget it when they talk about selfhosting, but to fully selfhost, you need <strong>2</strong> machines, and not only one. Indeed, if you use the cloud services from Google, Facebook, etc., your data are replicated across their datacenters. Your data are stored multiple times, in multiple places around the world and this limits the risk of data losses (both temporary, due to network issues, or permanently).</p>
64
+<p>On the contrary, if you selfhost on a single server, your data is stored only at one place, on one machine. This means that any problem on this machine will kill your entire numerical life. Some people use two servers, but at the same place (a Synology and a Raspi at home for instance). In this case, you do have data replication and you can indeed recover from a material problem, but you will run into troubles if there is a physical problem, like a fire or a simple network failure.</p>
65
+<p>Imagine you have <a href="https://en.wikipedia.org/wiki/MX_record#The_backup_MX">MX backup</a> on two machines on the same network access. If one of the server experiences problems, the other one will be able to handle emails delivery, but if the problem is on the network access, MX backup is useless.</p>
66
+<p>Same thing happen if you have a fire at home and all your devices (backupped one plus the server to store the backups) are at home. You will simply lose everything.</p>
67
+<p>Then, if you care about the service you benefit from, you should have two servers in distinct places. Else, you will not have the same quality of service as the one you would have with the standard cloud, and selfhosting is not that much interesting and not worth the price. Note that you do not need to actually <strong>own</strong> two machines: you can also use a part of a friend's server, as discussed below.</p>
68
+<p>On this part, I am backupping my server daily on a friend server (encrypted backups, so no privacy concerns to have), and we set up some redundancy as MX backups and so. Then, I have effectively two machines, so that my downtime is reduced, and I can mitigate problems with my main server.</p>
69
+<h2>“You need to be able to move quickly”</h2>
70
+<p>Another problem, often neglected (starting from my own notes) is the ability to move quickly to another place, and to fully disappear (so that noone can recover anything from your server). This, of course, depends on your hosting-provider, and if you have a one year contract with your hosting-provider, it might not be that easy (or cheap at least) to move to another server, in the end.</p>
71
+<p>The point of being able to move quickly is:</p>
72
+<ul>
73
+<li>To be able to move if you have troubles with your hosting-provider, so that you are fully free and selfhosted and not tied to your hosting-provider.</li>
74
+<li>To be able to setup a new server very quickly in case of problems (electrical failure, network problem, hard-drive failure, …), to reduce downtime.</li>
75
+</ul>
76
+<p>Reconfiguring a server is a time-consuming task, and is a real pain, so you will want to do it as less as possible, and will hence increase the dependency on your hosting-provider.</p>
77
+<p>People handling thousands of servers in the cloud use tools like <a href="https://puppetlabs.com/">Puppet</a>, <a href="http://www.ansible.com/home">Ansible</a>, <a href="https://www.chef.io/chef://www.chef.io/chef/">Chef</a> or simple shell scripts to spawn new machines upon need and replicate their config across all their machines. Even if you have only one or two machines, you should consider using it as they are rather easy to use and not reserved to use with thousands of machines. It will ease configuration, it will allow you to version your configuration and to easily spawn a new server very quickly. Combined with data backup, you can virtually spawn a working new server in a few minutes, anywhere you want, anytime you want.</p>
78
+<p>Another point to consider is also the ability to disappear quickly and prevent anyone from recovering your data, especially if you own a server provided by your hosting-provider. These are not necessarily wiped between two users, and the next one could potentially recover sensitive data from the hard drive (like emails). A simple solution (at the cost of a bit of computational power) to this is to encrypt your disk, and delete the sector storing the keys before returning the server. This way, your hard drive will just look like garbage to the next owner, and he will not be able to recover anything from it.</p>
79
+<p>Moreover, here are some other thoughts which came to me while I was thinking in the previous points.</p>
80
+<h2>Mutualization is not centralization</h2>
81
+<p>Most of the time, when we speak about selfhosting, we speak about <em>self</em> which means all the debate is focused on the user. We often oppose selfhosting (decentralization) to centralization, and focus only on the setup of <strong>one</strong> server for <strong>one</strong> user. This can be well seen in projects like <a href="http://yunohost.org/">Yunohost</a> which allows any user to setup easily its own personal server on an old machine or a Raspberry Pi, but will not offer anything else.</p>
82
+<p>However, mutualization is not centralization, and selfhosted users could benefit a lot from mutualization. Distributions like Yunohost should build a “network” of users, and offer them mutualization capabilities. For instance, one should be able to easily let 10% of his hard drive to be used for other users' backups, and benefits from the ability to replicate its backups on others servers. This way, sharing a bit of storage, one can have a distributed backup storage, resilient to network failures and server issues. This is especially easy as we have technologies which allow us to do distributed and encrypted file storage across multiple servers, such as <a href="http://tahoe-lafs.org/">Tahoe-LAFS</a>. But such solutions are not promoted at all by distributions like Yunohost…</p>
83
+<p>Indeed, maintaining two servers is quite a pain, and might cost a lot, especially if one of them is just here for backups. On the contrary, you might know someone having a server and who is ready to exchange a bit of storage, bandwidth and CPU power to mirror your services and handle backups. This network of trusted users (or not necessarily, if you use encryption and distributed file storage) is a key element of selfhosting, in my opinion, and should be promoted and made easy.</p>
84
+<h2>Trust in the server</h2>
85
+<p>Last but not least, as soon as you rent a server to someone else, you need to trust him to give you the server he advertised, and to not abuse his power. If you pay a server, you might expect to have the server you ordered, or the hosting-provider will suffer from the secret if known. But what about the configuration he sets up for you? What about judiciary requests (or not so official requests)? Will he simply give the information, the access to your server in the datacenter etc easily, or will he warn you before? These are things that should be considered, with more or less care depending on why you want your server and the way you use it. But such concerns should not be avoided and should be taken into account (although it will most likely be better than with a cloud provider, in any case).</p>
86
+<p>Possible mitigations for this point are to fully self-host your server (which means buying a server or recycle an old PC, host it at home, if your network connection is powerful enough, or rent a rack in a datacenter), but this can cost much more. Another solution is to look at associative hosting providers, such as <a href="http://tetaneutral.net/">Tetaneutral.net</a> which offers to host your server, no matter what its format is. As it is your machine, you know the material, and you can add the security level you want (such as killswitches and so on). </p>
87
+		<footer><p class="date">Le 26/03/2015 à 17:05</p>
88
+		<p class="tags">Tags : <a href="//phyks.me/tags/Selfhost.html">Selfhost</a></p></footer>
89
+	</div>
90
+</article>
91
+            </div>
92
+            <footer id="rss">
93
+                <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>
94
+            </footer>
95
+        </div>
96
+    </body>
97
+</html>

+ 2
- 2
blog/tags/Smartphone.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/TupperVim.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Vim.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Web.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Weechat.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/aNimble.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 2
- 2
blog/tags/Électronique.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 45
- 0
gen/2015/03/you_are_not_selfhosting.gen View File

@@ -0,0 +1,45 @@
1
+<article>
2
+	<aside>
3
+		<p class="day">26</p>
4
+		<p class="month">Mars</p>
5
+	</aside>
6
+	<div class="article">
7
+		<header><h1 class="article_title"><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></h1></header>
8
+		<!-- 
9
+    @author=Phyks
10
+    @date=26032015-1705
11
+    @title=“You are not selfhosting”…
12
+    @tags=Selfhost
13
+-->
14
+
15
+<p>“You are not selfhosting”… that is more or less what Laurent Guerby (founder of <a href="http://tetaneutral.net/">Tetaneutral.net</a> told me last week after a presentation <a href="http://socialismecapitalismedeuxpointzero.net/">at the ENS</a>). At first, it surprised me, because I <strong>am</strong> selfhosting. I have my own server to serve this blog, to handle my emails, to connect to IRC, to handle my XMPP account, to provide me a fully working network access and so on. Basically every part of my life on internet passes somehow through my server, so I am tempted to consider that I <strong>do</strong> selfhost.</p>
16
+<p>Plus I wrote <a href="http://phyks.me/autohebergement.html">some notes</a> (in French) about the checklist before selfhosting and the first step in selfhosting. What is the status of this document if indeed I am not selfhosting?</p>
17
+<h2>“You need two machines to selfhost, not one”</h2>
18
+<p>Actually, most people forget it when they talk about selfhosting, but to fully selfhost, you need <strong>2</strong> machines, and not only one. Indeed, if you use the cloud services from Google, Facebook, etc., your data are replicated across their datacenters. Your data are stored multiple times, in multiple places around the world and this limits the risk of data losses (both temporary, due to network issues, or permanently).</p>
19
+<p>On the contrary, if you selfhost on a single server, your data is stored only at one place, on one machine. This means that any problem on this machine will kill your entire numerical life. Some people use two servers, but at the same place (a Synology and a Raspi at home for instance). In this case, you do have data replication and you can indeed recover from a material problem, but you will run into troubles if there is a physical problem, like a fire or a simple network failure.</p>
20
+<p>Imagine you have <a href="https://en.wikipedia.org/wiki/MX_record#The_backup_MX">MX backup</a> on two machines on the same network access. If one of the server experiences problems, the other one will be able to handle emails delivery, but if the problem is on the network access, MX backup is useless.</p>
21
+<p>Same thing happen if you have a fire at home and all your devices (backupped one plus the server to store the backups) are at home. You will simply lose everything.</p>
22
+<p>Then, if you care about the service you benefit from, you should have two servers in distinct places. Else, you will not have the same quality of service as the one you would have with the standard cloud, and selfhosting is not that much interesting and not worth the price. Note that you do not need to actually <strong>own</strong> two machines: you can also use a part of a friend's server, as discussed below.</p>
23
+<p>On this part, I am backupping my server daily on a friend server (encrypted backups, so no privacy concerns to have), and we set up some redundancy as MX backups and so. Then, I have effectively two machines, so that my downtime is reduced, and I can mitigate problems with my main server.</p>
24
+<h2>“You need to be able to move quickly”</h2>
25
+<p>Another problem, often neglected (starting from my own notes) is the ability to move quickly to another place, and to fully disappear (so that noone can recover anything from your server). This, of course, depends on your hosting-provider, and if you have a one year contract with your hosting-provider, it might not be that easy (or cheap at least) to move to another server, in the end.</p>
26
+<p>The point of being able to move quickly is:</p>
27
+<ul>
28
+<li>To be able to move if you have troubles with your hosting-provider, so that you are fully free and selfhosted and not tied to your hosting-provider.</li>
29
+<li>To be able to setup a new server very quickly in case of problems (electrical failure, network problem, hard-drive failure, …), to reduce downtime.</li>
30
+</ul>
31
+<p>Reconfiguring a server is a time-consuming task, and is a real pain, so you will want to do it as less as possible, and will hence increase the dependency on your hosting-provider.</p>
32
+<p>People handling thousands of servers in the cloud use tools like <a href="https://puppetlabs.com/">Puppet</a>, <a href="http://www.ansible.com/home">Ansible</a>, <a href="https://www.chef.io/chef://www.chef.io/chef/">Chef</a> or simple shell scripts to spawn new machines upon need and replicate their config across all their machines. Even if you have only one or two machines, you should consider using it as they are rather easy to use and not reserved to use with thousands of machines. It will ease configuration, it will allow you to version your configuration and to easily spawn a new server very quickly. Combined with data backup, you can virtually spawn a working new server in a few minutes, anywhere you want, anytime you want.</p>
33
+<p>Another point to consider is also the ability to disappear quickly and prevent anyone from recovering your data, especially if you own a server provided by your hosting-provider. These are not necessarily wiped between two users, and the next one could potentially recover sensitive data from the hard drive (like emails). A simple solution (at the cost of a bit of computational power) to this is to encrypt your disk, and delete the sector storing the keys before returning the server. This way, your hard drive will just look like garbage to the next owner, and he will not be able to recover anything from it.</p>
34
+<p>Moreover, here are some other thoughts which came to me while I was thinking in the previous points.</p>
35
+<h2>Mutualization is not centralization</h2>
36
+<p>Most of the time, when we speak about selfhosting, we speak about <em>self</em> which means all the debate is focused on the user. We often oppose selfhosting (decentralization) to centralization, and focus only on the setup of <strong>one</strong> server for <strong>one</strong> user. This can be well seen in projects like <a href="http://yunohost.org/">Yunohost</a> which allows any user to setup easily its own personal server on an old machine or a Raspberry Pi, but will not offer anything else.</p>
37
+<p>However, mutualization is not centralization, and selfhosted users could benefit a lot from mutualization. Distributions like Yunohost should build a “network” of users, and offer them mutualization capabilities. For instance, one should be able to easily let 10% of his hard drive to be used for other users' backups, and benefits from the ability to replicate its backups on others servers. This way, sharing a bit of storage, one can have a distributed backup storage, resilient to network failures and server issues. This is especially easy as we have technologies which allow us to do distributed and encrypted file storage across multiple servers, such as <a href="http://tahoe-lafs.org/">Tahoe-LAFS</a>. But such solutions are not promoted at all by distributions like Yunohost…</p>
38
+<p>Indeed, maintaining two servers is quite a pain, and might cost a lot, especially if one of them is just here for backups. On the contrary, you might know someone having a server and who is ready to exchange a bit of storage, bandwidth and CPU power to mirror your services and handle backups. This network of trusted users (or not necessarily, if you use encryption and distributed file storage) is a key element of selfhosting, in my opinion, and should be promoted and made easy.</p>
39
+<h2>Trust in the server</h2>
40
+<p>Last but not least, as soon as you rent a server to someone else, you need to trust him to give you the server he advertised, and to not abuse his power. If you pay a server, you might expect to have the server you ordered, or the hosting-provider will suffer from the secret if known. But what about the configuration he sets up for you? What about judiciary requests (or not so official requests)? Will he simply give the information, the access to your server in the datacenter etc easily, or will he warn you before? These are things that should be considered, with more or less care depending on why you want your server and the way you use it. But such concerns should not be avoided and should be taken into account (although it will most likely be better than with a cloud provider, in any case).</p>
41
+<p>Possible mitigations for this point are to fully self-host your server (which means buying a server or recycle an old PC, host it at home, if your network connection is powerful enough, or rent a rack in a datacenter), but this can cost much more. Another solution is to look at associative hosting providers, such as <a href="http://tetaneutral.net/">Tetaneutral.net</a> which offers to host your server, no matter what its format is. As it is your machine, you know the material, and you can add the security level you want (such as killswitches and so on). </p>
42
+		<footer><p class="date">Le 26/03/2015 à 17:05</p>
43
+		<p class="tags">Tags : <a href="//phyks.me/tags/Selfhost.html">Selfhost</a></p></footer>
44
+	</div>
45
+</article>

+ 2
- 2
gen/header.gen View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/aNimble.html">/aNimble (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (128)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (32)</a> </div><div class="tag"><a href="//phyks.me/tags/GeoData.html">/GeoData (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Known.html">/Known (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (96)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (3)</a> </div><div class="tag"><a href="//phyks.me/tags/Selfhost.html">/Selfhost (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (32)</a> </div><div class="tag"><a href="//phyks.me/tags/TupperVim.html">/TupperVim (1)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (17)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (112)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (32)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/2015/01/firefox_sync_15.html">Self-hosting Firefox sync 1.5</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/03/you_are_not_selfhosting.html">“You are not selfhosting”…</a></li><li><a href="//phyks.me/2015/03/tuppervim_1503.html">TupperVim du 03/03/2015</a></li><li><a href="//phyks.me/2015/02/animble.html">Installing aNimble on Windows</a></li><li><a href="//phyks.me/2015/02/opendata_altimetry.html">Looking for altitude OpenData</a></li><li><a href="//phyks.me/2015/01/moving_known.html">Passage à Known</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 1
- 0
gen/tags/Selfhost.tmp View File

@@ -0,0 +1 @@
1
+2015/03/you_are_not_selfhosting.md

+ 61
- 0
raw/2015/03/you_are_not_selfhosting.md View File

@@ -0,0 +1,61 @@
1
+<!--
2
+	@author=Phyks
3
+	@date=26032015-1705
4
+	@title=“You are not selfhosting”…
5
+	@tags=Selfhost
6
+-->
7
+
8
+“You are not selfhosting”… that is more or less what Laurent Guerby (founder of [Tetaneutral.net](http://tetaneutral.net/) told me last week after a presentation [at the ENS](http://socialismecapitalismedeuxpointzero.net/)). At first, it surprised me, because I **am** selfhosting. I have my own server to serve this blog, to handle my emails, to connect to IRC, to handle my XMPP account, to provide me a fully working network access and so on. Basically every part of my life on internet passes somehow through my server, so I am tempted to consider that I **do** selfhost.
9
+
10
+Plus I wrote [some notes](http://phyks.me/autohebergement.html) (in French) about the checklist before selfhosting and the first step in selfhosting. What is the status of this document if indeed I am not selfhosting?
11
+
12
+
13
+## “You need two machines to selfhost, not one”
14
+
15
+Actually, most people forget it when they talk about selfhosting, but to fully selfhost, you need **2** machines, and not only one. Indeed, if you use the cloud services from Google, Facebook, etc., your data are replicated across their datacenters. Your data are stored multiple times, in multiple places around the world and this limits the risk of data losses (both temporary, due to network issues, or permanently).
16
+
17
+On the contrary, if you selfhost on a single server, your data is stored only at one place, on one machine. This means that any problem on this machine will kill your entire numerical life. Some people use two servers, but at the same place (a Synology and a Raspi at home for instance). In this case, you do have data replication and you can indeed recover from a material problem, but you will run into troubles if there is a physical problem, like a fire or a simple network failure.
18
+
19
+Imagine you have [MX backup](https://en.wikipedia.org/wiki/MX_record#The_backup_MX) on two machines on the same network access. If one of the server experiences problems, the other one will be able to handle emails delivery, but if the problem is on the network access, MX backup is useless.
20
+
21
+Same thing happen if you have a fire at home and all your devices (backupped one plus the server to store the backups) are at home. You will simply lose everything.
22
+
23
+Then, if you care about the service you benefit from, you should have two servers in distinct places. Else, you will not have the same quality of service as the one you would have with the standard cloud, and selfhosting is not that much interesting and not worth the price. Note that you do not need to actually **own** two machines: you can also use a part of a friend's server, as discussed below.
24
+
25
+On this part, I am backupping my server daily on a friend server (encrypted backups, so no privacy concerns to have), and we set up some redundancy as MX backups and so. Then, I have effectively two machines, so that my downtime is reduced, and I can mitigate problems with my main server.
26
+
27
+
28
+
29
+## “You need to be able to move quickly”
30
+
31
+Another problem, often neglected (starting from my own notes) is the ability to move quickly to another place, and to fully disappear (so that noone can recover anything from your server). This, of course, depends on your hosting-provider, and if you have a one year contract with your hosting-provider, it might not be that easy (or cheap at least) to move to another server, in the end.
32
+
33
+The point of being able to move quickly is:
34
+
35
+* To be able to move if you have troubles with your hosting-provider, so that you are fully free and selfhosted and not tied to your hosting-provider.
36
+* To be able to setup a new server very quickly in case of problems (electrical failure, network problem, hard-drive failure, …), to reduce downtime.
37
+
38
+Reconfiguring a server is a time-consuming task, and is a real pain, so you will want to do it as less as possible, and will hence increase the dependency on your hosting-provider.
39
+
40
+People handling thousands of servers in the cloud use tools like [Puppet](https://puppetlabs.com/), [Ansible](http://www.ansible.com/home), [Chef](https://www.chef.io/chef://www.chef.io/chef/) or simple shell scripts to spawn new machines upon need and replicate their config across all their machines. Even if you have only one or two machines, you should consider using it as they are rather easy to use and not reserved to use with thousands of machines. It will ease configuration, it will allow you to version your configuration and to easily spawn a new server very quickly. Combined with data backup, you can virtually spawn a working new server in a few minutes, anywhere you want, anytime you want.
41
+
42
+Another point to consider is also the ability to disappear quickly and prevent anyone from recovering your data, especially if you own a server provided by your hosting-provider. These are not necessarily wiped between two users, and the next one could potentially recover sensitive data from the hard drive (like emails). A simple solution (at the cost of a bit of computational power) to this is to encrypt your disk, and delete the sector storing the keys before returning the server. This way, your hard drive will just look like garbage to the next owner, and he will not be able to recover anything from it.
43
+
44
+
45
+Moreover, here are some other thoughts which came to me while I was thinking in the previous points.
46
+
47
+
48
+## Mutualization is not centralization
49
+
50
+Most of the time, when we speak about selfhosting, we speak about *self* which means all the debate is focused on the user. We often oppose selfhosting (decentralization) to centralization, and focus only on the setup of **one** server for **one** user. This can be well seen in projects like [Yunohost](http://yunohost.org/) which allows any user to setup easily its own personal server on an old machine or a Raspberry Pi, but will not offer anything else.
51
+
52
+However, mutualization is not centralization, and selfhosted users could benefit a lot from mutualization. Distributions like Yunohost should build a “network” of users, and offer them mutualization capabilities. For instance, one should be able to easily let 10% of his hard drive to be used for other users' backups, and benefits from the ability to replicate its backups on others servers. This way, sharing a bit of storage, one can have a distributed backup storage, resilient to network failures and server issues. This is especially easy as we have technologies which allow us to do distributed and encrypted file storage across multiple servers, such as [Tahoe-LAFS](http://tahoe-lafs.org/). But such solutions are not promoted at all by distributions like Yunohost…
53
+
54
+Indeed, maintaining two servers is quite a pain, and might cost a lot, especially if one of them is just here for backups. On the contrary, you might know someone having a server and who is ready to exchange a bit of storage, bandwidth and CPU power to mirror your services and handle backups. This network of trusted users (or not necessarily, if you use encryption and distributed file storage) is a key element of selfhosting, in my opinion, and should be promoted and made easy.
55
+
56
+
57
+## Trust in the server
58
+
59
+Last but not least, as soon as you rent a server to someone else, you need to trust him to give you the server he advertised, and to not abuse his power. If you pay a server, you might expect to have the server you ordered, or the hosting-provider will suffer from the secret if known. But what about the configuration he sets up for you? What about judiciary requests (or not so official requests)? Will he simply give the information, the access to your server in the datacenter etc easily, or will he warn you before? These are things that should be considered, with more or less care depending on why you want your server and the way you use it. But such concerns should not be avoided and should be taken into account (although it will most likely be better than with a cloud provider, in any case).
60
+
61
+Possible mitigations for this point are to fully self-host your server (which means buying a server or recycle an old PC, host it at home, if your network connection is powerful enough, or rent a rack in a datacenter), but this can cost much more. Another solution is to look at associative hosting providers, such as [Tetaneutral.net](http://tetaneutral.net/) which offers to host your server, no matter what its format is. As it is your machine, you know the material, and you can add the security level you want (such as killswitches and so on).