\documentclass[aspectratio=169]{beamer}

\usetheme{Madrid}
\usefonttheme{professionalfonts}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{mathtools,amssymb}
\usepackage{microtype}
\usepackage{pgfgantt}
\usepackage{adjustbox}
% Réduire la densité verticale par défaut
% \ganttset{y unit chart=0.45cm, y unit title=0.6cm, bar height=0.35}

% Acronymes utiles
\newcommand{\EC}{\textsc{EC}}
\newcommand{\CRDT}{\textsc{CRDT}}
\newcommand{\PCDO}{\textsc{PCDO}}
\newcommand{\RB}{\textsc{RB}}
\newcommand{\ARB}{\textsc{ARB}}
\newcommand{\BFT}{\textsc{BFT}}
\newcommand{\DL}{\textsc{DL}}
\newcommand{\AL}{\textsc{AL}}
\newcommand{\ZT}{\textsc{ZT}}


% =====================
% Paramétrage générique et macros d'usage
% ---------------------
% Définir la fenêtre temporelle du diagramme (ISO 8601)
\newcommand{\GanttSetup}[2]{% #1 = YYYY-MM-DD (début), #2 = YYYY-MM-DD (fin)
  \def\GanttStart{#1}%
  \def\GanttEnd{#2}%
}
% Evénement sur période
% Usage : \Period[<opts pgfgantt>]{<label>}{<YYYY-MM-DD>}{<YYYY-MM-DD>}
\newcommand{\Period}[4][]{\ganttbar[#1]{#2}{#3}{#4}}
% Evénement ponctuel (jalon)
% Usage : \Event[<opts pgfgantt>]{<label>}{<YYYY-MM-DD>}
\newcommand{\Event}[3][]{\ganttmilestone[#1]{#2}{#3}}
% Groupe (optionnel)
% Usage : \Block[<opts>]{<label>}{<YYYY-MM-DD>}{<YYYY-MM-DD>}
\newcommand{\Block}[4][]{\ganttgroup[#1]{#2}{#3}{#4}}

% Style par défaut (sobre, lisible en salle)
\ganttset{
  calendar week text={},
  time slot format=isodate,
  vgrid, hgrid,
  x unit=0.42cm,    % densité horizontale
  y unit chart=0.45cm, y unit title=0.6cm, bar height=0.35,
  bar/.append style={fill=blue!35},
  group/.append style={fill=black!10},
  milestone/.append style={fill=red!60},
  bar label font=\scriptsize, group label font=\scriptsize, milestone label font=\scriptsize,
  title label font=\footnotesize, title/.style={fill=black!5}
}

\title{2ème Comité de Suivi Individuel 2024-2025}
\subtitle{Thèse CIFRE - Cohérence Faible pour le cloud zero-trust}
\institute[AMU - LIS - Scille]{Université Aix-Marseille - LIS \and Scille} 
% \logo{\includegraphics[height=0.5cm]{logo-lis.png} \hspace{2em} \includegraphics[height=0.5cm]{parsec.png}}
\author[Amaury JOLY]{Amaury JOLY \\ \vspace{1em} \textbf{Encadrement :} Emmanuel GODARD, Corentin TRAVERS \\ \vspace{1em} \textbf{Comité de suivi :} Arnaud LABOUREL, Achour MOSTEFAOUI}
\date{\today}

\begin{document}

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

% Rajouter nombre d'heure recherche industrielle formation OK
% Dire que le model CRDT et PCDO implique du RB OK
% Usage de RB+DL=>ARB dans le cloud zero-trust
% Etre plus claire sur les missions en cours avec Scille OK

% Se renseigner sur l'état de l'art sur RB+DL=>ARB et PCDO

% Voir avce Scille pour la poursuite de these

% =======================
\begin{frame}{Contexte de thèse (CIFRE)}
  \begin{itemize}
    \item Démarrage administratif : \textbf{janvier 2024}.
    \item Sujet : \emph{Cohérence Faible pour le cloud zero-trust}.
    \item Cadre : thèse \textbf{CIFRE} avec l’entreprise \textbf{Scille} (logiciel \texttt{parsec.cloud}).
    \item Répartition d’activités : \textbf{70\% recherche} / \textbf{30\% entreprise}.
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{Contexte industriel — partage de fichiers \ZT{}}
  \begin{itemize}
    \item Produit : logiciel de partage de fichiers \textbf{zero-trust}.
    \item Modèle \ZT{} : le \textbf{serveur ne voit que des données chiffrées} et ne connaît pas l’identité des utilisateurs.
    \item Model de communication : \textbf{serveur centralisé unique} pour tous les clients.
    \item Hypothèses : confiance pour la \textbf{redistribution des messages} et la \textbf{disponibilité} ; serveur \textbf{honnête mais curieux}.
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{Bilan des formations et divers (oct. 2024 — oct. 2025)}
  \begin{itemize}
    \item \textbf{REDOCS 2024} : 14 au 19 octobre 2024
    \item \textbf{PEPR Trust in Cloud 2024} (Grenoble) : novembre 2024.
    \item \textbf{PEPR Trust in Cloud 2025} (Massy) : octobre 2025.
    \item \textbf{Séminaires entreprise} : 3 séances en présentiel.
    \item \textbf{Reunion avancement produit et R\&D} : toutes les 2 semaines.
    \item \textbf{Enseignement} : 30 h en M1 (24h TP + 6h TD) + Soutenances de stage M2 FSI
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{Missions en entreprise (résumé)}
  \begin{itemize}
    \item \textbf{Document BPI} : état de l’art et \textbf{valeur ajoutée} des fonctionnalités d’\emph{édition collaborative} de l’équipe R\&D Parsec.
    \item \textbf{État de l’art} sur \textbf{\ZT{}} et \textbf{Data-Centric Security} pour une réponse à appel d’offres \textbf{OTAN}.
    \item \textbf{Conseil} : stratégie de \textbf{sauvegarde} dans un contexte \textbf{pair-à-pair distribué} pour l’édition collaborative.
    \item \textbf{CIR} : rédaction en cours d’un \textbf{document consolidé} couvrant les projets R\&D (état de l’art, besoins spécifiques, caractère innovant, avancées annuelles).
    \vspace{1em}
    \item Développement de \textbf{fonctionnalités} experimentales dans \texttt{parsec}
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{CRDT (Shapiro et al., 2011) - Rappel}
  \begin{itemize}
    \item Un \CRDT{} est une \textbf{spécification de type de donnée répliqué} qui permet d’\textbf{atteindre la cohérence éventuelle} (\EC) \textbf{sans imposer d’ordre total} entre les opérations (sous hypothèse de \textbf{Reliable Broadcast} (RB)).
    \item L’idée clé est de \textbf{converger par construction} : les opérations (ou les jointures d’états) sont \textbf{commutatives} (souvent aussi associatives et idempotentes), garantissant que tout ordre de livraison mène au même état.
    \pause
    \item \textbf{Contrepartie} : la \textbf{structure commutative} restreint les usages aux applications dont les mises à jour sont naturellement commutatives; elle est moins adaptée lorsque des \textbf{invariants globaux non commutatifs} ou des \textbf{contraintes d’ordre} sont requis.
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{PCDO (Frey et al., 2023)}
  \begin{itemize}
    \item Les \PCDO{} étendent les \CRDT{} mais \textbf{ajoute une notion de légalité d’état} : un prédicat caractérise quels états sont \emph{légaux}.
    \item Alors que, dans les \CRDT, \textbf{toutes les opérations sont éventuellement traitées par tous les nœuds} (sans ordre global), un \PCDO{} autorise d’\textbf{exiger un ordre pour certaines opérations}.
    \pause
    \item Pour \textbf{atteindre} cela sans sacrifier l’asynchronisme, la \textbf{contrainte d’ordre est restreinte \emph{par processus}} : seules les opérations \textbf{émises par le même processus} doivent être \textbf{émises et exécutées dans un certain ordre}.
    \item Les opérations inter-processus restent commutatives (au sens requis par le prédicat de légalité), préservant la \EC{}.
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{\PCDO{} ?= \RB{} \BFT{}}
  \begin{itemize}
    \item \textbf{Question de recherche} : une implémentation \BFT{} d’un \PCDO{} est-elle \textbf{équivalente} à l’implémentation \BFT{} d’un \textbf{Reliable Broadcast} (\RB)?
    \item Intuition : si un \PCDO{} impose un \textbf{ordre par émetteur}, et que \RB{}-BFT assure \textbf{livraison fiable/consistante}, peut-on \textbf{réduire} l’un à l’autre~?
    \item \textbf{Travail en cours} : exploration d’algorithmes visant à \textbf{montrer l’équivalence} (ou une réduction bidirectionnelle). \textbf{À ce stade}, pas de résultat concluant.
    \item Points de blocage actuels : \textbf{interaction entre la légalité d’état locale au processus} et les \textbf{garanties globales} de \RB{}-\BFT{} (accord, intégrité, terminaison).
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{AllowList et DenyList (Frey et al., 2023)}
  \begin{itemize}
    \item Présentation de travaux de \textbf{Mathieu Gestin} : spécification d’\AL{} et de \DL{} comme \textbf{registre partagé} dans un système \textbf{asynchrone} sujet aux \textbf{crashs}.
    \item Interface fondée sur \textbf{trois primitives} :
    \begin{itemize}
      \item \texttt{APPEND(x)} : ajout d’un élément à l'\AL{}/\DL{}.
      \item \texttt{PROVE(x)} : fournir une \textbf{preuve vérifiable} de présence/absence.
      \item \texttt{READ()} : obtenir une \textbf{vue cohérente} du registre.
    \end{itemize}
    \item L’objectif est d’\textbf{atteindre les garanties attendues} d’une \AL{}/\DL{} distribuée (sécurité, auditabilité, progression sous asynchronisme avec crashs).
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{\RB{} + \DL{} $\Rightarrow$ \ARB{} (intuition)}
  \begin{itemize}
    \item Idée : utiliser la \textbf{\DL{} comme mécanisme de verrou/élection} pour \textbf{ordonner} des messages livrés via \RB{}, et ainsi passer à l’\textbf{Atomic Reliable Broadcast} (\ARB{}).
    \item \textbf{Par rounds} :
    \begin{enumerate}
      \item À chaque round, un \textbf{ensemble non vide de vainqueurs} est sélectionné (via \DL{}) et \textbf{détient le droit d’émettre}.
      \item Quand le round est \textbf{fermé}, les autres processus tentent d’être élus au \textbf{round suivant}.
    \end{enumerate}
    \item \textbf{Processus lents} : un mécanisme de \textbf{dissémination des messages en attente} force les nœuds corrects à \textbf{relayer/émettre} pour leur compte afin d’éviter les blocages.
    \item L’ordonnancement par rounds permet d’\textbf{établir un ordre total} entre les messages.
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{\RB{} + \DL{} $\Rightarrow$ \ARB{} (contexte industriel \& ZT)}
  \begin{itemize}
    \item \textbf{Contraintes industrielles (CIFRE)} : les \CRDT{}\ \PCDO{} ne couvrent pas tous les cas d’usage — certaines applications requièrent un \textbf{ordre total} global malgré l’asynchronisme.
    \item \textbf{Hypothèse architecturale} : un \textbf{serveur « proxy » ZT} ne voyant que des \textbf{chiffrés}, chargé de \textbf{dispatcher} et de \textbf{synchroniser} les messages; aucune logique métier ni accès au clair.
    \item \textbf{Levier} : combiner \RB{} avec \DL{} pour sérialiser les tours d’émission; le proxy n’est qu’un \textbf{médiateur d’ordonnancement}, pas une source de confiance.
    \item \textbf{Pertinence} : solution adaptée aux environnements contraints où la \textbf{centralisation de l’ordonnancement} est acceptable mais où la \textbf{confiance} reste minimisée.
  \end{itemize}
  \end{frame}
  
  % =======================
  \begin{frame}{\RB{} + \DL{} $\Rightarrow$ \ARB{} (état d’avancement)}
  \begin{itemize}
    \item \textbf{Algorithme} : spécifié et en cours de \textbf{finalisation de la preuve} dans un \textbf{modèle crash}.
    \item \textbf{Propriété visée} : \ARB{} (accord, validité, intégrité, \textbf{ordre total}).
    \item \textbf{Perspectives} : extension au \textbf{modèle byzantin} (\BFT{}). Implémentation d'une \DL{} \ZT{} (e.g. calcul homomorphe).
    \item \textbf{Implémentation} : prototype intégré à \texttt{parsec} pour la fonctionnalités de chat collaboratif (en cours).
  \end{itemize}
  \end{frame}

% =====================

  \begin{frame}[t]{Gantt 2024-2025}
    \scriptsize
    % Fenêtre temporelle
    \GanttSetup{2024-10-01}{2025-10-15}
    
    % Limiter à la largeur et à 80% de la hauteur de la slide
    \begin{adjustbox}{max totalsize={\textwidth}{0.8\textheight},center}
      \begin{ganttchart}[
          expand chart=\textwidth,
          y unit chart=0.45cm,
          y unit title=0.6cm,
          bar height=0.35,
      ]{\GanttStart}{\GanttEnd}
        \gantttitlecalendar{year, month}\\
    
        \Period{REDOCS}{2024-10-14}{2024-10-18}\\
        % Plusieurs jalons sur une même ligne pour gagner de la place
        \Event{Séminaire Parsec}{2024-11-19}\ \Event{}{2025-03-20}\ \Event{}{2025-07-12}\\
        \Event{PEPR TrustInCloud}{2024-12-05}\ \Event{}{2025-10-07}\\
    
        \Period[bar/.append style={fill=green!40}]{Livrable BPI}{2025-01-01}{2025-02-01}\\
        \Period[bar/.append style={fill=green!40}]{État de l'art OTAN}{2025-04-01}{2025-04-30}\\
        \Period[bar/.append style={fill=green!40}]{Conseil sauvegarde P2P}{2025-08-01}{2025-08-15}\\
        \Period[bar/.append style={fill=green!40}]{Rédaction CIR}{2025-09-01}{2025-10-15}\\
    
        \Period[bar/.append style={fill=orange!70}]{Cours M1}{2024-10-01}{2024-12-31}\\
    
        \Period[bar/.append style={fill=blue!35}]{PCDO BFT vs RB BFT}{2024-10-01}{2025-01-01}\\
        \Period[bar/.append style={fill=blue!35}]{Spécification RB+DL=>ARB (crash)}{2025-02-01}{2025-10-15}\\
      \end{ganttchart}
    \end{adjustbox}
    \end{frame}

  % =======================
  \begin{frame}{Perspectives Académiques 2025-2026}
    \begin{itemize}
      \item \textbf{Publication} : soumission d’un article sur \RB{} + \DL{} $\Rightarrow$ \ARB{} en modèle \BFT{} (\textbf{printemps 2026}).
      \item \textbf{Soumission de la thèse} : rédaction \textbf{fin 2026}, soutenance \textbf{1er semestre 2027}.
      \begin{itemize}
        \item Implique une 4ème année de thèse (financement à confirmer avec Scille).
      \end{itemize}
    \end{itemize} 
  \end{frame}

  \end{document}
  