\documentclass[aspectratio=169,12pt]{beamer}
\usetheme[block=fill,progressbar=frametitle,background=light]{metropolis}   
\metroset{numbering=fraction}
\usepackage{appendixnumberbeamer}
\usepackage{hyperref}

\usepackage{booktabs}
\usepackage[scale=2]{ccicons}

\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}

\usepackage{xspace}
\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}

\title{Héberger des services conviviaux hors des datacenters}
\subtitle{Association Deuxfleurs\hfill\includegraphics[height=2.5cm]{figures/deuxfleurs-logo.png}\\\url{https://deuxfleurs.fr}\\Licence CC-BY}
% \date{\today}
\date{22 octobre 2024}
\author{Baptiste Jonglez}
\institute{}
%\titlegraphic{\hfill\includegraphics[height=1.5cm]{figures/deuxfleurs-logo.png}}

\begin{document}

\maketitle

\begin{frame}{Plan}
  \setbeamertemplate{section in toc}[sections numbered]
  \tableofcontents%[hideallsubsections]
\end{frame}

%---------------------------------
\section{Deuxfleurs en deux minutes}

\begin{frame}{L'association Deuxfleurs}
 \begin{block}{Objectifs}
  \textbf{Fabriquer un Internet \alert{convivial}.\\Critiquer
    l'organisation dominante du numérique.}
 \end{block}

\vspace{0.5cm}

 \begin{block}{Comment ?}
   En fournissant des \textbf{services numériques conviviaux} et en
   construisant une \textbf{infrastructure résiliente hors des
     datacenters}
 \end{block}

\begin{figure}
\includegraphics[height=2cm]{figures/deuxfleurs-logo.png}
\includegraphics[height=2cm]{figures/logo_chatons.png}
\end{figure}
\end{frame}

\begin{frame}{Services offerts}
%\begin{figure}
%\end{figure}
\begin{itemize}
\item Messagerie instantanée (Matrix)
\item Visioconférence (Jitsi)
\item Bureautique en ligne (Cryptpad)
\item Email (Postfix/Dovecot)
\item Hébergement web (Garage/Tricot)
\end{itemize}

\vspace{0.5cm}

Uniquement basé sur du \textbf{logiciel libre}, certains
\textbf{développés en interne}.
\end{frame}

%\begin{frame}{Les CHATONS}
%\begin{figure}
%\includegraphics[height=4cm]{figures/logo_chatons.png}
%\end{figure}
%\end{frame}

%---------------------------------
\section{Des services numériques fiables sans datacenters ?}

\begin{frame}{Une petite histoire de chaises...}

{\large Je veux fabriquer des chaises.\\Quelle quantité, pour quel public ?\\Atelier, usine ?}

  \begin{figure}
    \includegraphics[height=3.5cm]{figures/chaise_alu.jpg}
    \hspace{1cm}
    \includegraphics[height=4cm]{figures/chaise_fancy.jpg}
    \caption{CC-BY Jean-Pierre Dalbéra (Chaise de Jan Kastner au Musée d'Orsay)}
  \end{figure}
\end{frame}

\begin{frame}{Le datacenter : l'usine à chaises industrielles}
\begin{block}{Infrastructures typiques d'un datacenter}
  \begin{itemize}
  \item alimentation électrique haut tension redondante
  \item onduleurs, batteries et générateur diesel
  \item refroidissement redondé
  \item liens réseaux dédiés et redondants
  \item protections incendie, contrôle d'accès (badges, portes)
  \end{itemize}
\end{block}

\textbf{Très coûteux} en ressources et en place, mais \textbf{très fiable}
et offre une \textbf{grande capacité d'hébergement}.  Repose sur la
\textbf{standardisation} du matériel et logiciel.

\vspace{0.2cm}

{\large \textbf{Peut-on être aussi fiable hors d'un datacenter ?}}
\end{frame}

\begin{frame}{L'auto-hébergement : l'atelier personnel de chaises}
Auto-hébergement = hébergement de services numériques à la maison
\begin{itemize}
\item Demande \textbf{très peu de ressources} : raspberry pi ou vieux PC, stockage, un peu d'électricité, connexion Internet déjà existante
\item Gros inconvénient : \textbf{peu fiable sur le long terme} (coupures
  électriques, coupures réseau, pannes matérielles, déménagement...)
\end{itemize}
\begin{figure}
\includegraphics[width=.6\linewidth]{figures/neptune.jpg}
\end{figure}
\end{frame}

\begin{frame}{L'entre-hébergement de Deuxfleurs : un réseau d'ateliers}
\begin{block}{Idées de l'entre-hébergement}
\begin{itemize}
\item Fiabilité via \textbf{redondance géographique} sur plusieurs sites
\item Chaque site reste \textbf{simple} et assez peu fiable, hébergé ``à la maison''
\item \textbf{Stockage distribué et redondant} pour les données
\item \textbf{Orchestration de services} pour relancer/déplacer automatiquement les services en cas de panne
\item Formalisation d'un \textbf{groupe d'administrateurices} qui peut intervenir à distance
\end{itemize}
\end{block}

En résumé : \textbf{fiabilité via la redondance logicielle} (système distribué) plutôt que via la fiabilisation extrême d'un unique site
\end{frame}

\begin{frame}{Schéma de principe de la redondance géographique (Garage)}
  \begin{figure}
    \includegraphics[height=8cm]{figures/carte-europe.png}
  \end{figure}
\end{frame}

\begin{frame}{Photos des sites (1)}
  \begin{figure}
    \includegraphics[width=.9\linewidth]{figures/neptune.jpg}
    \caption{Site Deuxfleurs avec 3 serveurs (PC de bureau reconditionnés) et 2 routeurs}
  \end{figure}
\end{frame}

\begin{frame}{Photos des sites (2)}
  \begin{figure}
    \includegraphics[width=.8\linewidth]{figures/serv_orion.jpg}
    \caption{Site Deuxfleurs avec 3 serveurs (reconditionnés), 1 routeur, 1 plante}
  \end{figure}
\end{frame}

\begin{frame}{Logiciel d'orchestration (Nomad)}
  \begin{figure}
    \includegraphics[width=\linewidth]{figures/deuxfleurs-nomad-20241022.png}
  \end{figure}
\end{frame}


\begin{frame}{Limites et passage à l'échelle}
\begin{block}{Les limites de l'infrastructure}
\begin{itemize}
\item Infrastructure de production Deuxfleurs : 11 machines sur 5 sites,
  22 coeurs CPU à 2.7 GHz, 96 Go de RAM, 13 To stockage brut (avant
  redondance)
  \begin{itemize}
  \item 10x plus gros qu'un smartphone milieu/haut de gamme
  \item comparable à un GPU Nvidia très haut de gamme (94 GB mémoire)
  \item 10x plus petit qu'un ``gros'' serveur (128 coeurs, 1 TB mémoire)
  \item 100.000x plus petit que OVH (450k serveurs en 2024)
  \end{itemize}
\item Pas de ``scaling'' dynamique comme dans le cloud : on travaille sur
  des machines physiques, pas des machines virtuelles $\rightarrow$
  \textbf{c'est l'anti-cloud : visibilisation forte des limites physiques}
\item On peut quand même rajouter des disques et des machines physiques
  pour augmenter la capacité sur le long terme
\end{itemize}
\end{block}
\end{frame}

\begin{frame}{Limites volontaires et stratégie de sobriété}
\textbf{Deuxfleurs ne peut pas héberger la terre entière} (c'est assumé)

Stratégie : \textbf{limiter volontairement la taille de l'infrastructure},
puis \textbf{choisir des usages et services sobres qui tiennent sur cette
  infrastructure}

\begin{block}{Exemples}
\begin{itemize}
\item pas de Wordpress, mais uniquement des sites web statique
\item 500 sites web aujourd'hui, on estime pouvoir tenir jusqu'à 50.000
\item limite de stockage sur les sites web (50 Mo, augmentable à 200 Mo
  par l'utilisateur, et plus sur demande)
\item pas de service de stockage de fichiers comme Nextcloud
\end{itemize}
\end{block}
\end{frame}

%---------------------------------
\section{Quel numérique et pour quoi faire ?}

\begin{frame}{Usages numériques}
\begin{block}{Quels sont les usages numériques principaux ?}
\begin{itemize}
\item \textbf{lire} : Wikipedia, Instagram, Netflix
\item \textbf{écrire} : blog, mail, réseaux sociaux
\item \textbf{communiquer} : visioconférence, messagerie instantanée
\end{itemize}
\end{block}
\textbf{Attention aux jugements de valeurs sur les usages !} (``les
réseaux sociaux c'est dangereux'', ``les jeux vidéos rendent bêtes''...)

Questions plus intéressante : \textbf{quel modèle de services pour répondre à ces usages ?}
\end{frame}

\begin{frame}{Les outils conviviaux}
Concept proposé par Ivan Illich

\begin{block}{Outil convivial}
\begin{itemize}
\item \textbf{accessible}, y compris pour le bricoler / réparer
\item ``l’humain contrôle l’outil'' et non l'inverse : favorise \textbf{l'autonomie}
\item pas de ``monopole radical'' (= outil obligatoire pour s'insérer dans la société)
\end{itemize}
\end{block}
Exemple d'outils conviviaux : tournevis, vélo

Exemple d'outils non conviviaux : voiture, smartphone

\textbf{L'informatique est plutôt non conviviale aujourd'hui} : difficile de se passer de son smartphone, aucune prise directe sur les évolutions des services numériques
\end{frame}

\begin{frame}{Différents modèles économiques de services}
Modèle principal des services numériques aujourd'hui : \textbf{basé sur
  l'économie de l'attention}.

Conséquences : captation abusive de données personnelles, dépendence forte
à la publicité ciblée, \textit{dark patterns} pour créer des addictions,
stratégie d'enfermement dans des plateformes.  Capitalisme de surveillance
et croissance infinie.

\vspace{0.5cm}

Autres modèles :

\begin{itemize}
\item abonnement : presse
\item service public : data.gouv.fr
\item commun numérique : wikipedia
\item entraide et dons : CHATONS, famille
\end{itemize}
\end{frame}

\begin{frame}{Modèle de Deuxfleurs}
\textbf{Infrastructure} en propre, logiciels libres, complètement hébergés en
interne, pas de publicité.

\textbf{Association} : possibilité de s'impliquer dans la définition des services.

\textbf{Services de communication} ``de base'' en premier lieu : choix de
proposer de la messagerie instantanée, email, sites web.  Accompagnement
pour adapter les usages (Wordpress vers sites web statiques)

\textbf{Modèle économique} actuellement basé sur les dons et sur le
bénévolat.  Au début, 3 salariés sur un financement européen pour
développer les briques de base de l'infrastructure.
\end{frame}

%---------------------------------
\section{Conclusion}

\begin{frame}{Conclusion}

\textbf{Deuxfleurs construit une \alert{infrastructure résiliente} à base de systèmes distribués, conçoit des services numériques \alert{dans les limites de l'infrastructure}, priorise \alert{les besoins utilisateurs et leur autonomie}.}

Pour aller plus loin :
\begin{itemize}
    \item \url{https://deuxfleurs.fr/}
    \item \url{https://garagehq.deuxfleurs.fr/}
    \item \url{https://plume.deuxfleurs.fr/}
    \item \url{https://guide.deuxfleurs.fr/}
    \item \url{https://jamstack.org/}
    \item \url{https://mouton-numerique.org/}
    \item \url{https://louisderrac.com/}
    \item \url{https://tom.gargouille.re/}
\end{itemize}
\end{frame}

\end{document}
