A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.md 6.8KB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. title: La difficile promesse de l'auto-hébergement
  2. url: http://www.servicedenuages.fr/difficile-promesse-autohebergement
  3. hash_url: 0daebd620201f59850a9337aee48a511
  4. <p>Au détour de quelques conversations, nous avons pu nous rendre compte que notre
  5. vision de <a class="reference external" href="https://kinto.readthedocs.org">Kinto</a> est celle d'un hébergement
  6. communautaire décentralisé plutôt que celle d'un ensemble de petits serveurs
  7. personnels. Explications.</p>
  8. <p>Kinto veut répondre à deux besoins principaux de la plupart des utilisateurs du
  9. Web : stocker et partager des données, sans que ceux-ci perdent le contrôle
  10. sur leurs données.</p>
  11. <p>Si Kinto doit être une "base de données pour le Web", alors il est nécessaire
  12. que l'ensemble des personnes puissent facilement avoir accès à un serveur
  13. Kinto.</p>
  14. <div class="section" id="auto-hebergement">
  15. <h2>Auto-hébergement</h2>
  16. <img alt="Maison de campagne -- House, Automn - CC-BY-ND Gunnar Magnusson https://www.flickr.com/photos/matupplevelser/4644386646" class="align-center" src="http://www.servicedenuages.fr/images/autohebergement.jpg"/>
  17. <p>Déployer des serveurs n'est pas actuellement chose aisée. Nombre
  18. d'initiatives visent à rendre ce déploiement plus simple, mais les défis
  19. techniques sont encore nombreux avant d'aboutir à une solution "plug and play"
  20. qui soit aisément maintenable dans le temps.</p>
  21. <p>Les serveurs doivent être maintenus à jour pour éviter les failles de sécurité
  22. et qu'ils restent disponibles pour ceux qui en ont besoin.</p>
  23. <p>On le voit bien sur nos systèmes déployés : il nous est nécessaire d'avoir
  24. recours à des "administrateurs" pour ces tâches. Et croyez nous,
  25. si ces interventions étaient facilement automatisables, elles le seraient
  26. déjà ! (personne ne souhaite se lever au milieu de la nuit pour résoudre les
  27. soucis des autres)</p>
  28. <p>Nous ne sommes malheureusement pas arrivés à un état de l'art qui permette à
  29. tout un chacun de s'auto-héberger de manière simple et pérenne.</p>
  30. <p>Un réel travail est donc nécessaire afin d'avoir un service de qualité.</p>
  31. </div>
  32. <div class="section" id="acentre">
  33. <h2>Acentré</h2>
  34. <p>Une solution praticable semble la mise en place d'un système avec plusieurs
  35. centres, <em>acentré</em>, donc décentralisé.</p>
  36. <p>Plutôt que d'avoir un seul endroit où les données sont stockées, on pourrait
  37. imaginer avoir un ou plusieurs serveurs par communauté (Tetaneutral,
  38. Framasoft, EFF, LUG de votre ville …), factorisant alors les coûts (humains et
  39. monétaires) de mise en production. Cela permet donc d'administrer un seul
  40. serveur pour plusieurs personnes / applications.</p>
  41. <p>Je vous vois, à deux doigts de bougonner : "Il est mignon avec ses serveurs
  42. communautaires mais mes données personnelles je préfère quand même ne pas les
  43. donner à n'importe qui !". Et vous auriez raison !</p>
  44. <p>Kinto permet de stocker n'importe quel type de données. Qu'il s'agisse de données
  45. qui ont vocation à être partagées ou de données qui sont les vôtres et qui
  46. doivent rester privées.</p>
  47. <p>Un de nos objectifs est de rendre le chiffrement des données extrêmement simple afin
  48. que personne (sinon vous) ne soit capable de les lire.</p>
  49. <p>Kinto.js le permet d'ailleurs d'ores et déjà, comme Michiel le démontre <a class="reference external" href="http://www.servicedenuages.fr/kinto-chiffrer-ses-donnees">dans
  50. un article paru précedemment ici</a>.</p>
  51. </div>
  52. <div class="section" id="eviter-la-creation-d-un-nouveau-silo">
  53. <h2>Éviter la création d'un nouveau silo</h2>
  54. <img alt="Le futur des silos - CC-BY-NC-ND Sunflower Silo in Boulder County Colorado by Bo Insogna — https://www.flickr.com/photos/thelightningman/5494666930" class="align-center" src="http://www.servicedenuages.fr/images/silo.jpg"/>
  55. <p>Afin d'éviter de participer à la création d'un nouveau silo, il est important
  56. de lever quelques points de vigilance :</p>
  57. <div class="section" id="identite">
  58. <h3>Identité</h3>
  59. <p>Un des points qui permet aux silos actuels (Facebook, Twitter) de perdurer,
  60. c'est en partie leur système d'identification. Vous souhaitez partager des
  61. données avec votre cousine, mais vous n'avez que son "compte Facebook" pour la
  62. joindre.</p>
  63. <p>C'est très certainement un fait malheureux, mais tentons de résoudre un
  64. problème à la fois (malheureusement, la tentative d'identité décentralisé —
  65. Mozilla Persona — bât sérieusement de l'aile).</p>
  66. <p>Laissons donc les personnes s'authentifier avec la solution de leur choix,
  67. libre ou non (OpenID, Firefox Accounts, Github, Twitter, Facebook etc.) <em>mais</em>
  68. redonnons leur le choix de l'endroit ou leurs données sont, elles, stockées.</p>
  69. </div>
  70. <div class="section" id="interoperabilite">
  71. <h3>Interopérabilité</h3>
  72. <p>Peu importe la solution de stockage de données que vous choisissez, il est
  73. indispensable qu'il existe des interfaces, des formats, pour passer de l'une
  74. à l'autre.</p>
  75. <p>Kinto expose (avant tout) une API HTTP (certains diraient RESTful) qui parle
  76. JSON, ce qui rend son intégration avec d'autres solutions aisée.</p>
  77. <p>Dans un premier temps, cela peut être simplement des fonctionnalités
  78. d'import / export d'une solution vers une autre, mais il est préférable de se
  79. mettre d'accord sur un format pour cet échange, sans quoi un standard
  80. <em>de facto</em> émergera, pour le meilleur et pour le pire !</p>
  81. <p>Il est donc primordial d'entamer un travail de collaboration
  82. avec les autres systèmes de "clouds privés" tels que OwnCloud ou CozyCloud.</p>
  83. <p>Ces derniers ont d'ailleurs mis en place <a class="reference external" href="https://github.com/Decentralized-Sharing-Working-Group/internet-draft">un groupe de
  84. travail</a>
  85. sur le sujet, qui vise à utiliser MicroPub et WebMention comme briques de départ.</p>
  86. </div>
  87. <div class="section" id="decentralisation">
  88. <h3>Décentralisation</h3>
  89. <p>La mise en place de serveurs communautaires n'empêche bien sûr pas l'utilisation
  90. de serveurs personnels pour les utilisateurs les plus aguerris.</p>
  91. <p>Dans un tel cas, les serveurs communautaires peuvent alors servir de sauvegarde,
  92. en cas de défaillance des serveurs personnels (ou vice-versa, les serveurs
  93. personnels pouvant redonder les serveurs communautaires).</p>
  94. <p>Il est tout à fait imaginable d'avoir des petits serveurs Kinto pour
  95. chaque utilisateur, mais il va falloir procéder par étapes et défricher le
  96. terrain avant d'avoir un <em>one click</em> pour <em>Tatie Jeannine</em>.</p>
  97. <p>La clé ici est sans doute l'essaimage : commencez à utiliser le serveur Kinto
  98. de Framasoft (ou autre) puis migrez vers votre propre serveur, une fois
  99. l'ensemble des problèmes techniques (évoqués précédemment) résolus.</p>
  100. <p>En attendant, une approche reposant sur plusieurs communautés semble être une
  101. solution pragmatique sur le court/moyen terme, rendant certaines libertés
  102. aux utilisateurs et ouvrant la voie pour le futur.</p>
  103. </div></div>