% Introduction à l'auto-hébergement % Atélili % 28 Mars 2015 Définitions (1/2) ================= L'auto-hébergement ------------------ L'auto-hébergement sur Internet, c'est fournir soi-même les services qu'on utilise. Plutôt que d'utiliser les services d'Orange, de Google, de Microsoft, ou de Yahoo!, c'est donc : * avoir son site web personnel sur son propre ordinateur (galerie de photos pour un usage familial, blog de cuisine...) * être son propre fournisseur de messagerie (emails), de messagerie instantanée... * partager des fichiers sans passer par un intermédiaire Un service ---------- Un service est un traitement de données effectué par une machine appellée «serveur», et dont le résultat vous est communiqué. Exemple : Souvent, les serveurs sont des machines distantes, situées sur internet. Définitions (2/2) ================= Le cloud -------- Le cloud est un ensemble de services fournit par des machines situées sur internet. Cloud, en français : l'informatique dans les nuages Autre appellation : SaaSS (Service as a Software Substitute) : service comme substitut au logiciel Auto-hébergement ≠ Cloud ------------------------ Dans le principe, l'auto-hébergement s'oppose au «cloud». Quels usages ? ============== Usages ------ Typiquement, les gens qui font de l'auto-hébergement cherchent à répondre à ces besoins : * Recevoir et envoyer des emails * Messagerie instantanée * Héberger des sites web * Le partage de fichiers / l'envoi de fichiers * La gestion de calendriers et de contacts * Suivi d'actualité (Flux RSS) * Blog * Galeries photos * Prise de notes (collaborative ou pas) * Wiki * Écoute de musique, la météo, remplacer les réseaux sociaux... Ça fait quand même beaucoup de choses... Différence entre logiciels courants et auto-hébergés (1/2) ========================================================== Logiciels auto-hébergés ----------------------- Pour répondre à ces besoins, on installe donc des logiciels, que l'on héberge chez soi. Question -------- Qu'est-ce qui distingue ces logiciels des logiciels déjà installés sur notre ordinateur et qu'on utilise d'habitude ? Notamment, les logiciels courants (qu'on a déjà) : * Utilisent nos données locales * Sont installés sur notre ordinateur * Communiquent avec l'internet Pour autant, on ne parle pas d'auto-hébergement dans leur cas. Pourquoi ? Différence entre logiciels courants et auto-hébergés (2/2) ========================================================== Réponse ------- Ils savent communiquer sur internet, mais dans une seule direction. La direction où vous êtes le «client». Les logiciels courants qu'on utilise ne sont pas des serveurs, ou n'ont pas besoin de serveur pour fonctionner. Pour une raison ou pour une autre, les logiciels «auto-hébergés» comportent une porte ouverte sur l'internet. Parmi ces raisons : * une personne éloignée souhaite consulter le contenu que vous proposez * vous-même n'êtes pas chez vous, et désirez accéder à vos données ou vos logiciels * nécessité pour plusieurs personnes distantes de travailler sur un même jeu de données * ... Scénarios de communication internet (1/3) ========================================= Scénario classique (avec serveur) --------------------------------- ![Scénario classique : le serveur joue le rôle d'intermédiaire](img/scenario_classique_avec_serveur.png) Scénarios de communication internet (2/3) ========================================= Scénario classique (sans serveur) --------------------------------- ![Scénario classique : sans serveur, la communication ne passe pas](img/scenario_classique_sans_serveur.png) Scénarios de communication internet (3/3) ========================================= Scénario auto-hébergé --------------------- ![Scénario auto-hébergé : vous êtes le serveur](img/scenario_auto-heberge.png) Intérêts de l'auto-hébergement ? ================================ Intérêts -------- Internet a été conçu comme un réseau acentré, où chaque ordinateur fournit une partie des services. Ainsi, s'héberger soi-même : * participe à la construction d'un Internet acentré et résistant ; * évite de stocker ses données personnelles chez des prestataires ; * permet d'avoir le contrôle et la responsabilité de ses propres données ; * est amusant et instructif, pour les technophiles ; Conditions requises (1/3) ========================= Matériel -------- Disposer d'un plug-computer, mini-ordinateur, ou d'un ordinateur secondaire : ### Plug-computers ### * Olinuxino * Banana Pi * Odroid * Framboise 3.14 (Raspberry Pi) * ... ### Mini-ordinateurs ### * Intel NUC * ... ### Autres ### * Un ordinateur quelconque Conditions requises (2/3) ========================= Logiciel -------- Savoir installer une distribution Linux : * Prête à emploi (expl: Yunohost...) * Distribution linux quelconque (expl: Debian...) Conditions requises (3/3) ========================= Accès internet -------------- Disposer d'un accès internet gentil : * politique favorable à l'auto-hébergement * stable (non bloquant) * bon débit (non bloquant) Quels logiciels ? ================= On en a de 2 genres : * Les applications en elles-mêmes. * Des «facilitateurs» à auto-hébergement. ### Des «facilitateurs» ? ### Ce sont des logiciels qui regroupent d'autres logiciels. Leur but étant d'installer ceux-ci plus facilement qu'à l'accoutumée. Ce sont des projets qui s'adressent au grand public. Ca peut être : * Des distributions Linux complètes * Des scripts, à utiliser sous un système Linux ### Des facilitateurs ### * [Cozycloud](https://cozy.io/fr) : partage de fichiers, écoute de musique, calendriers & gestion de contacts, prise de notes, météo... * [Yunohost](https://yunohost.org) : partage de fichiers, blog, calendrier & gestion de contacts, prise de notes partagées (zerobin), webmail, wiki... * [Owncloud](https://owncloud.org) : partage de fichiers, galeries photos, calendrier & gestion de contacts... * [Host@home](http://yeuxdelibad.net/Programmation/Hostathome.html) : envoi de fichiers, blog, partage de liens web, suivi d'actualité... * [ArkOs](https://arkos.io) : blog, calendrier & gestion de contacts, synchronisation de fichiers, wiki... * les systèmes fournis avec certains NAS ou certaines box Liens ===== Des sites qui parlent d'auto-hébergement : * [auto-hebergement.fr](http://auto-hebergement.fr) : un planet (agrégation de billets de blogs) ainsi qu'un wiki bien fourni. Des articles : * [Gnu.org: who does that server really serve ?](https://www.gnu.org/philosophy/who-does-that-server-really-serve.html) : Au sujet du SaaSS. * [Yunohost: selfhosting](https://yunohost.org/#/selfhosting_fr) : courte page récapitulative sur l'auto-hébergement. Des projets qui s'adressent au grand public : * [Cozycloud](https://cozy.io/fr) * [Yunohost](https://yunohost.org) * [Host@Home](http://yeuxdelibad.net/Programmation/Hostathome.html) * [Owncloud](https://owncloud.org) Des logiciels : * [Waah](http://waah.quent1.fr) : un annuaire de logiciels (que les «facilitateurs» peuvent intégrer) * [Sebsauvage : auto-hébergement](http://sebsauvage.net/auto/) : une autre petite liste d'applications auto-hébergeables Conclusion (1/2) ================ A quels usages l'auto-hébergement répond-il aujourd'hui ? Pour ma part : * un mini-blog (non utilisé) * un NAS préconfiguré (non utilisé) Pour autant ce n'est pas du bluff : * des gens qui synchronisent leurs téléphones mobiles * des gens qui partagent leurs fichiers avec seafile * des geeks qui publient leurs blogs techniques auto-hébergés L'auto-hébergement est une solution alternative à la souscription à un hébergeur internet : * hébergeurs professionels (OVH, Online, FirstHeberg...) * hébergeurs associatifs (Toile-Libre, L'autre.net...) qui ne proposent pas de «serveurs privés virtuels» (VPS) Conclusion (2/2) ================ En résumé, on a : * Quelques logiciels déjà utilisables avec un peu d'efforts (les facilitateurs) * Ces mêmes logiciels sont en développement * Du matériel informatique (presque) adapté à l'auto-hébergement * Un ensemble de pratiques, où les plus chevronné(e)s peuvent continuer de s'aventurer * Une communauté qui s'entre-aide pour remplir cet objectif L'auto-hébergement est une direction vers laquelle il faut tendre : * Bannissez l'externalisation et les services. Il faut replacer l'intelligence logicielle au bout de réseau internet. * Songer à choisir son fournisseur d'accès internet en fonction (forme de soutien) Alternatives à l'auto-hébergement ? * Le peer-to-peer * La mutualisation des services Credits ======= * «Définition» et «Intérêts» repris et adaptés du site auto-hebergement.fr * Atelili, licence creative commons zero. ![Miaou auto-hébergé](img/nimage.jpg)