\documentclass{beamer}
%\documentclass[ignorenonframetext,handout]{beamer}
%\usepackage{pgfpages}
%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]

\usetheme{Madrid}
\usepackage[french]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{bortzmeyer-utils}

\title{Objets qui communiquent entre eux ou bien esclaves du cloud ?}
\author{Stéphane Bortzmeyer\\\texttt{stephane+federez@bortzmeyer.org}}
\date{Federez\\19 mars 2016}

%\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex} 
% \setlength{\parskip}{15pt} 
\setlength{\parskip}{15pt plus 10pt minus 10pt} 

\begin{document}

\maketitle

\begin{frame}
  \frametitle{Objet}
  \begin{block}
    {Définition}
    {Ordinateur qui n'est pas perçu comme un ordinateur}
  \end{block}
  \begin{itemize}
  \item<2->Parfois contraint en ressources (pour les programmeurs
    d'aujourd'hui)
  \item<3->Pas perçu comme un ordinateur, donc pas d'administrateur
    système
  \item<4->Tous les inconvénients de l'informatique sans ses avantages  
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Qu'y a-t-il derrière un terme ?}
  \begin{block}
    {Internet des Objets}
    {Ce terme marketing à la mode laisse entendre que les objets
      parlent TCP/IP entre eux}
  \end{block}
\end{frame}

\begin{frame}
  \frametitle{Architecture réelle}
  \begin{block}
    {Il n'y a pas d'Internet des Objets}
    {Les objets parlent à un contrôleur, local ou distant, pas entre eux}
  \end{block}
  \only<2->{C'est parfois une bonne chose « \foreign{My refrigerator
      does not need to talk to your refrigerator} » (Martin Levy)}
\end{frame}

\begin{frame}
  \frametitle{L'objet typique}
  \begin{itemize}
  \item<2->Vous achetez le dernier gadget, un Mother, un Nest, une
    télé connectée
  \item<3->Il se connecte au \foreign{cloud}, plus exactement à son
    \foreign{mother ship}, un gros serveur géré par le vendeur
  \item<4->Première conséquence : vie privée\only<4>{ (d'autant plus
    que la sécurité est souvent pourrie)}
  \item<5->Deuxième conséquence : si le vendeur arrête, votre objet ne
    marche plus
  \item<6->Idem si l'Internet est en panne  
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Pourquoi ?}
  \begin{itemize}
  \item<2->Parce que le vendeur est au service du Mal et a passé un
    pacte avec le Diable
  \item<3->Non, sérieusement, il y a des bonnes et des mauvaises
    raisons pour cela
  \item<4->Bonnes et mauvaises, elles ne changent rien au fait que
    \emph{l'Internet des Objets n'existe pas} 
  \end{itemize}
  % Plaidoyer avec les bonnes raisons http://techcrunch.com/2016/03/05/can-you-take-the-internet-out-of-the-internet-of-things/
\end{frame}

\begin{frame}
  \frametitle{Raisons techniques 1 - contraintes}
  L'objet est parfois \emph{contraint}
  \begin{itemize}
  \item<2->Peu de mémoire, par exemple
  \item<3->Il faut bien qu'il envoie ses données quelque part, si on
    veut stocker un historique (logique de SNMP)  
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Raisons techniques 2 - NAT}
   Si une des machines est en dehors du réseau local, il faut un rendez-vous
  \begin{itemize}
  \item<2->Avec la pénurie d'adresses IPv4, quasiment tout le monde
    est derrière un routeur NAT : pas de connexions entrantes
  \item<3->Il y a des mécanismes pour se parler\only<3>{ (STUN, TURN\ldots)} mais ils nécessitent
    un serveur dans le cloud qui aide
  \item<4->C'est bien plus simple si tout le monde parle au cloud  
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Raisons techniques 3 - non-joignabilité}
  L'objet est parfois éteint\only<1>{ (batterie à économiser)},
  parfois injoignable\only<1>{ (caprices de la radio)}
  \begin{itemize}
  \item<2->C'est bien plus simple si on communique via le cloud
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Raisons techniques 4 - sécurité}
  Le serveur du vendeur est certainement très sûr, géré par des
  professionnels, jamais piraté\ldots
  \begin{itemize}
  \item<2->Mais l'objet peut être pire
  \item<3->Les contraintes peuvent rendre difficile certains
    protocoles de sécurité comme TLS
  \item<4->Pas de générateur aléatoire possible \only<4>{ (problème
    pour la cryptographie)}
  \item<5->Pas d'interface utilisateur : comment rentrer un mot de
    passe ?
  \item<6->Pas d'administrateur système  
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Raisons économiques - business plan}
  \begin{itemize}
  \item<2->Si l'objet est peu cher, c'est peut-être parce qu'il dépend
    d'un abonnement
  \item<3->Assure un revenu au vendeur  
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Raisons inavouables}
  \begin{itemize}
  \item<2->Ces objets sont pratiques pour la surveillance
  \item<3->Les télévisions connectées ont une caméra et un micro,
    activables par logiciel
  \item<4->« Quelqu'un » encourage-t-il les vendeurs à déployer cette
    architecture de surveillance et de contrôle à distance ?  
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Et le pair à pair, alors ?}
  \begin{itemize}
  \item<2->Peut-on faire un vrai Internet des Objets ?
  \item<3->Solutions techniques : IPv6 pour l'adresssage, Babel pour
    le routage, HNCP pour distribuer l'information, DTN pour s'envoyer
    des données\ldots
  \item<4->Chercheurs et programmeurs ont plein d'idées
  \item<5->Mais ça ne rapporte pas  
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Égalité}
  \begin{itemize}
  \item<2->Les objets ne seront jamais tous égaux
  \item<3->Mais cela ne veut pas dire que le plus haut gradé doit être
    dans le cloud
  \item<4->Le « chef d'orchestre » peut être une machine locale (Turris Omnia,
  PC avec CozyCloud\ldots)
  \item<5->Cela soulève d'intéressants problèmes : sécurité, sauvegardes\ldots
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Conclusion}
  \begin{enumerate}
  \item<2->L'« Internet des Objets » n'existe pas,
  \item<3->Il n'y a que des terminaux du cloud, style mainframe IBM
    des années 60,
  \item<4->Un gros effort technique sera nécessaire pour faire un vrai
    Internet des Objets,
  \item<5->Il reste à trouver les mécanismes économiques et politiques
    pour le déployer.  
  \end{enumerate}
\end{frame}

\end{document}

