\documentclass[11pt, aspectratio=1610]{beamer}
\usetheme{Warsaw}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{setspace}
\usepackage{todonotes}
\presetkeys{todonotes}{inline}{}
\renewcommand{\baselinestretch}{1.25}

\definecolor{orange_garage}{RGB}{255,147,41}
\definecolor{gris_garage}{RGB}{78,78,78}
\definecolor{rose_deuxfleurs}{RGB}{234,89,110}

\author[Association Deuxfleurs]{~\linebreak Vincent Giraud}
\title[Remettre internet sur la place publique]{Remettre internet sur la place publique}
\subtitle{L'entre-hébergement avec Garage}
%\setbeamercovered{transparent} 
%\setbeamertemplate{navigation symbols}{} 
\date{Pas Sage En seine 2023\linebreak

\scriptsize Vendredi 16 juin 2023\linebreak
} 

\setbeamercolor{palette primary}{fg=black,bg=rose_deuxfleurs}
\setbeamercolor{palette secondary}{fg=gris_garage,bg=gris_garage}
\setbeamercolor{palette tiertary}{fg=white,bg=gris_garage}
\setbeamercolor{palette quaternary}{fg=white,bg=gris_garage}
\setbeamercolor{navigation symbols}{fg=black, bg=white}
\setbeamercolor{navigation symbols dimmed}{fg=darkgray, bg=white}
\setbeamercolor{itemize item}{fg=gris_garage}
\setbeamertemplate{itemize item}[circle]
\setbeamercolor{block body}{bg=rose_deuxfleurs!33}

\addtobeamertemplate{navigation symbols}{}{%
    \usebeamerfont{footline}%
    \usebeamercolor[fg]{footline}%
    \hspace{1em}%
    \insertframenumber/\inserttotalframenumber
}

\setbeamertemplate{headline}
{%
  \leavevmode%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{section in head/foot}%
    \hbox to .5\paperwidth{\hfil\insertsectionhead\hfil}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{subsection in head/foot}%
    \hbox to .5\paperwidth{\hfil\insertsubsectionhead\hfil}
  \end{beamercolorbox}%
}
\addtobeamertemplate{footnote}{}{\vspace{2ex}}

\begin{document}
\begin{frame}
\titlepage
\end{frame}

\section{Introduction}
\subsection{Présentation}
\begin{frame}
\begin{columns}
\column{0.5 \linewidth}
\begin{center}
\includegraphics[width=3.5cm]{deuxfleurs-logo.png}\linebreak

\texttt{https://deuxfleurs.fr}
\end{center}
\column{0.4 \linewidth}
\begin{center}
Deuxfleurs est une association militant en faveur d'un internet plus convivial, avec une organisation et des rapports de force repensés.\linebreak

Nous faisons partie du CHATONS\footnote[frame]{Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires} depuis avril 2022.

\includegraphics[width=2cm]{logo_chatons.png}
\end{center}
\end{columns}
\end{frame}

\begin{frame}
  \centering
  Les ressources accessibles par internet reposent aujourd'hui essentiellement dans des centres de données.

  \vspace{0.75cm}

  \begin{columns}
    \column{0.6 \linewidth}
    \centering
    \includegraphics[width=8cm]{centre de données.png}
    \column{0.4 \linewidth}
    \centering
    Cette concentration répond aux logiques industrielles et commerciales solidement implantées dans le domaine du numérique.
  \end{columns}
\end{frame}

\begin{frame}
  \centering
  Cet état de fait entraîne d'abord un contrôle monumental sur les ressources en question.

  \vspace{0.75cm}
  
  \begin{columns}
    \column{0.5 \linewidth}
    \centering
    Pour les entreprises et groupes privés qui peuvent les valoriser notamment~:
    \begin{itemize}
    \item via un ciblage publicitaire
    \item pour entraîner des intelligences artificielles
    \item pour maintenir leur position concurentielle
    \end{itemize}
    \column{0.5 \linewidth}
    \centering
    Pour les États, qui y trouvent des points d'entrée privilégiés où piocher dans le cadre de surveillance de masse\footnote[frame]{Cf. les révélations d'Edward Snowden, en particulier ici le programme PRISM}\linebreak

    \includegraphics[height=2.5cm]{panoptique.png}
  \end{columns}
\end{frame}

\begin{frame}
  \centering
  Dans l'industrie, la part des ressources humaines intéragissant avec les centres de données est minimisée autant que possible.

  \vfill
  
  Mais l'invisibilisation des ressources matérielles touche d'abord la société publique\footnote[frame]{Sondage réalisé par Wakefield Research pour Citrix, sur 1000 États-Uniens}~:
  
  \begin{itemize}
  \item 16\% des États-Uniens savent réellement ce que signifie le \textit{cloud}.
  \item 22\% des États-Uniens font semblant de savoir ce dont il s'agit au quotidien.    
  \item 29\% des États-Uniens pensent que le \textit{cloud} utilise des nuages.
  \item 51\% des États-Uniens pensent qu'une mauvaise météo influe sur ses performances.
  \end{itemize}

  \vspace{0.5cm}

  Cette abstraction du matériel derrière le concept d'internet est déterminant dans les comportements de chacun.
\end{frame}

\begin{frame}
  \centering
  La mutation d'internet à travers le prisme commercial divise les acteurs en deux~:\\ les vendeurs, et les clients.

  \vspace{0.5cm}

  \begin{block}{}
    \scriptsize
    \textit{La définition industrielle des valeurs rend extrêmement difficile à l'usager de percevoir la structure profonde des moyens sociaux. (...) Il a du mal à imaginer que l'on puisse gagner en rendement social ce que l'on perd en rentabilité industrielle.}

    \begin{flushright}
      Ivan Illich dans \textit{La convivialité}, 1973
    \end{flushright}
  \end{block}

  \begin{block}{}
    \scriptsize
    \textit{La Civilisation des Machines a besoin, sous peine de mort, d'écouler l'énorme production de sa machinerie et elle utilise dans ce but (...) des machines à bourrer le crâne.}
    \vspace{0.2cm}
    \hrule
    \vspace{0.2cm}
    \textit{Le danger n'est pas dans la multiplication des machines, mais dans le nombre sans cesse croissant d'hommes habitués, dès leur enfance, à ne désirer que ce que les machines peuvent donner.}

    \begin{flushright}
      Georges Bernanos dans \textit{La France contre les robots}, 1945
    \end{flushright}
  \end{block}
\end{frame}

\begin{frame}
  \centering
  Tout porte à croire que ramener les fondations d'internet au sein de structures à taille plus humaines et aux organisations plus conviviales aiderait à~:\linebreak
  
  protéger les utilisateurs\hspace{2cm}tout en les responsabilisant.\linebreak

  \begin{columns}
    \column{0.33 \linewidth}
    \centering
    Cette ligne directrice peut s'appliquer sur bien des axes problématiques du numérique aujourd'hui~:
    \column{0.33 \linewidth}
    \centering
    \begin{itemize}
    \item l'écologie
    \item la modération
    \item l'archivage
    \item les dépendances
    \item etc.
    \end{itemize}
  \end{columns}
\end{frame}

\subsection{Héberger à la maison}
\begin{frame}
  \centering
  Dans cette optique, auto-héberger ses services et ses données présente de nombreux avantages~:

  \vspace{1cm}

  \begin{itemize}
    \setlength\itemsep{0.5cm}
  \item On récupère la souveraineté sur ses données
  \item On gagne en vie privée
  \item On gagne en liberté
  \item On est responsabilisé face à ses besoins
  \item On exploite réellement l'énergie consommée par ses serveurs
  \end{itemize}

  \onslide<2->
  {
    \begin{tikzpicture}[remember picture,overlay]
      \node[anchor=center, text width=0.8\textwidth] at (current page.center) {
        \begin{block}{}
          \centering
          En hiver, si on se chauffe électriquement avec un thermostat automatique, l'énergie utilisée par les serveurs est virtuellement gratuite~!
        \end{block}
      };
    \end{tikzpicture}
  }
\end{frame}

\begin{frame}
  \centering
  Mais cela recouvre également bien des contraintes...

  \vspace{1cm}

  \begin{itemize}
    \setlength\itemsep{0.5cm}
  \item On repose sur une connexion internet pour particulier
  \item Un certain savoir-faire et moultes compétences sont requis
  \item Assurer la résilience de ses services est difficile et chronophage
  \item \alert<2->{Bien sauvegarder ses données n'est pas évident}
  \end{itemize}
\end{frame}

\subsection{Sauvegarder pour se parer à tout imprévu}
\begin{frame}
\begin{center}
Sauvegarder pour se parer contre les pannes matérielles est une chose...

Sauvegarder pour se parer contre les cambriolages et les incendies en est une autre !\linebreak

\vspace{1cm}
\onslide<2->{Répartir géographiquement ses données devient alors nécessaire.}
\end{center}
\end{frame}

\section{Les solutions à explorer}
\subsection{L'entre-hébergement}
\begin{frame}
\begin{center}
On a vu récemment se développer au sein du CHATONS la notion d'entre-hébergement : dans le cadre du collectif, il s'agit de partager ses volumes de données entre hébergeurs.

\vspace{1cm}

En plus de renforcer l'intégrité des sauvegardes, on va améliorer la disponibilité pendant les coupures de liaison internet, de courant, ou pendant les déménagements d'administrateurs par exemple.

\vspace{1cm}

Pour assurer la confidentialité, on peut chiffrer les données au niveau applicatif.
\end{center}
\end{frame}

\subsection{S3 contre les systèmes de fichiers}
\begin{frame}
\begin{center}
Dans le cadre de l'administration de services en ligne, les systèmes de fichiers recèlent certaines difficultés.

\vspace{1cm}

Le standard S3 apporte des facilités; on réduit le stockage à un paradigme de clé-valeur basé essentiellement sur deux opérations seulement: lire ou écrire une clé.
\end{center}
\end{frame}

\begin{frame}
  \centering
  Historiquement, S3 a été conçu pour être \textit{«\texttt{malloc()} sur internet»}\footnote[frame]{\url{https://aws.amazon.com/fr/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/}}.

  \vspace{2.5cm}
  
  Très pratique pour l'industrie, ce paradigme participe cependant à la centralisation et l'invisibilisation citées précédemment.
\end{frame}

\section{Garage}
\subsection{Présentation}
\begin{frame}
\begin{columns}
\column{0.5 \linewidth}
\centering
Garage essaye de fournir les facilités d'utilisation de S3, mais en conservant une infrastructure accessible derrière.\linebreak

Il s'agit d'un logiciel libre permettant de distribuer un service S3 sur diverses machines éloignées.\linebreak

\includegraphics[width=6cm]{bretons_chelous.png}
\column{0.5 \linewidth}
\centering
\includegraphics[width=4cm]{garage-logo.png}\linebreak

\texttt{https://garagehq.deuxfleurs.fr/}
\end{columns}
\end{frame}

\subsection{Gestion des zones}
\begin{frame}
\begin{center}
Garage va prendre en compte les zones géographiques au moment de répliquer les données.\linebreak

\vspace{1cm}
\includegraphics[width=13.25cm]{zones.png}
\end{center}
\end{frame}

\subsection{Comment ça marche ?}
\begin{frame}
\begin{columns}
\column{0.5 \linewidth}
\input{schéma europe}
\column{0.5 \linewidth}
\begin{center}
Chaque objet est dupliqué sur plusieurs zones différentes.\linebreak

\onslide<5->{Lorsqu'un nouvel hébergeur rejoint le réseau, la charge se voit équilibrée.}\linebreak

\onslide<12->{Si une zone devient indisponible, les autres continuent d'assurer le service.}\linebreak
\end{center}
\end{columns}
\end{frame}

\subsection{Financement}
\begin{frame}
\begin{center}
Dans le cadre du programme \textit{Horizon 2021} de l'Union Européenne, nous avons reçu une subvention de la part de l'initiative NGI Pointer\footnote[frame]{Next Generation Internet Program for Open Internet Renovation}.\linebreak

\includegraphics[width=3cm]{drapeau_européen.png}\hspace{1cm}
\includegraphics[width=3cm]{NGI.png}\linebreak

Nous avons ainsi pu financer le développement de Garage pendant 1 an.
\end{center}
\end{frame}

\subsection{Licence}
\begin{frame}
\begin{center}
De par nos valeurs, nous avons attribué la licence AGPL version 3 à Garage, notamment afin qu'il reste parmi les biens communs.\linebreak

\vspace{0.5cm}
\includegraphics[width=5cm]{agpl-v3-logo.png}\linebreak
\end{center}
\end{frame}

\subsection{Langage utilisé}
\begin{frame}
\begin{center}
Nous avons décidé d'écrire Garage à l'aide du langage Rust, afin d'obtenir une compilation vers des binaires natifs et efficaces.\linebreak

\includegraphics[width=3.5cm]{rust-logo.png}\linebreak

Ce choix permet également de bénéficier des avantages reconnus de Rust en termes de sécurité.
\end{center}
\end{frame}

\subsection{Matériel requis}
\begin{frame}
\begin{center}
Garage peut ainsi être performant sur des machines limitées. Les prérequis sont minimes : n'importe quelle machine avec un processeur qui a moins d'une décennie, 1~gigaoctet de mémoire vive, et 16~gigaoctets de stockage suffit.\linebreak

\vspace{1cm}

Cet aspect est déterminant : il permet en effet d'héberger sur du matériel acheté d'occasion, pour réduire l'impact écologique de nos infrastructures.
\end{center}
\end{frame}

\subsection{Performances}
\begin{frame}
\begin{center}
\includegraphics[width=13.25cm]{rpc-amplification.png}
\end{center}
\end{frame}

\begin{frame}
\begin{center}
\includegraphics[width=11cm]{rpc-complexity.png}
\end{center}
\end{frame}

\subsection{Services}
\begin{frame}
\begin{center}
Puisqu'il suit le standard S3, beaucoup de services populaires sont par conséquence compatibles avec Garage :\linebreak

\begin{columns}
\column{0.2 \linewidth}
\begin{center}
\includegraphics[width=2.5cm]{nextcloud-logo.png}
\end{center}
\column{0.2 \linewidth}
\begin{center}
\includegraphics[width=2.5cm]{peertube-logo.png}
\end{center}
\column{0.2 \linewidth}
\begin{center}
\includegraphics[width=2.5cm]{matrix-logo.png}
\end{center}
\column{0.2 \linewidth}
\begin{center}
\includegraphics[width=2.5cm]{mastodon-logo.png}
\end{center}
\end{columns}
~\linebreak

Et comme souvent avec S3, on peut assimiler un bucket à un site, et utiliser le serveur pour héberger des sites web statiques.
\end{center}
\end{frame}

\section{Intégration chez Deuxfleurs}
\subsection{Matériel}
\begin{frame}
\begin{center}
\includegraphics[width=13cm]{neptune.jpg}\linebreak

En pratique, nos serveurs ne sont effectivement que des machines achetées d'occasion (très souvent des anciens ordinateurs destinés à la bureautique en entreprise).
\end{center}
\end{frame}

\subsection{Environnement logiciel}
\begin{frame}
\begin{center}
Pour faciliter la reproduction d'un environnement connu, NixOS est installé sur nos machines.\linebreak

\vspace{1cm}
Pour s’accommoder des réseaux qu'on trouve derrière des routeurs pour particuliers, on s'aide de notre logiciel Diplonat\footnote[frame]{\texttt{https://git.deuxfleurs.fr/Deuxfleurs/diplonat}}.
\end{center}
\end{frame}

\section{Au-delà...}
\subsection{... de Deuxfleurs}
\begin{frame}
\begin{center}
\includegraphics[width=10cm]{tedomum.png}
\end{center}
\end{frame}

\subsection{... de Garage}
\begin{frame}
\begin{center}
Nous avons récemment lancé le développement d'Aérogramme\footnote[frame]{\texttt{https://git.deuxfleurs.fr/Deuxfleurs/aerogramme}}.\linebreak

\vspace{1cm}
Il s'agit d'un serveur de stockage de courriels chiffrés.\linebreak

\vspace{1cm}
Il est conçu pour pouvoir travailler avec Garage.
\end{center}
\end{frame}

\section{Fin}
\subsection{Contacts}
\begin{frame}
\begin{center}
\begin{tikzpicture}
\node (ronce) {\includegraphics[width=0.95\textwidth]{ronce.jpg}};
\node[white] at (-5.1,3.6) {Intéressé(e) ?};
\node[white, align=center] at (4.2,-2.6) {Contactez-nous !\\\texttt{coucou@deuxfleurs.fr}\\\texttt{\#forum:deuxfleurs.fr}};
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}

