diff --git a/docs/presentation_scille_21_06/box.css b/docs/presentation_scille_21_06/box.css new file mode 100755 index 0000000..23f97df --- /dev/null +++ b/docs/presentation_scille_21_06/box.css @@ -0,0 +1,64 @@ +.reveal .colourbox, .reveal .colorbox { + padding-left: 3%; + padding-right: 3%; + padding-top: 0.8ex; + padding-bottom: 1ex; + margin-bottom: 15px; + width: 100%; + color: #000000; + text-shadow: none; + text-align: left; + background-color: #fff6ac; + border: none; + border-radius: 0.5em; + box-shadow: 8px 8px 4px 2px rgba(0, 0, 0, 0.4); +} + +.reveal .box { + width: 100% auto; + margin-bottom: 15px; + margin-top: 1ex; + line-height: 1.2; + padding: 0; + text-align: center; + overflow: auto; + text-align: left; + border-top-right-radius: 0.5em; + border-bottom-right-radius: 0.5em; + box-shadow: 8px 8px 4px 2px rgba(0, 0, 0, 0.4); +} + +.reveal .box .title, +.reveal .box .content { + padding-left: 3%; + padding-right: 3%; + border: #000 1px solid; +} + +.reveal .box .title { + padding-top: 0.4ex; + padding-bottom: 0.5ex; + color: #ffffff; + text-shadow: 1px 1px 0 #000; + background-color: #421e00; + border-bottom: none; + border-top-right-radius: 0.5em; + border-top-left-radius: 0.5em; +} + +.reveal .box .content { + padding-top: 0.8ex; + padding-bottom: 1ex; + color: #000000; + text-shadow: none; + background-color: #fff6ac; + border-bottom-right-radius: 0.5em; + border-bottom-left-radius: 0.5em; + + font-size: .75em; +} + +.reveal .box .content ul li { + padding: 0px 0px; + list-style: symbols(); +} \ No newline at end of file diff --git a/docs/presentation_scille_21_06/img/cartographie.png b/docs/presentation_scille_21_06/img/cartographie.png new file mode 100644 index 0000000..2892061 Binary files /dev/null and b/docs/presentation_scille_21_06/img/cartographie.png differ diff --git a/docs/presentation_scille_21_06/img/cartographie_simplifie.png b/docs/presentation_scille_21_06/img/cartographie_simplifie.png new file mode 100644 index 0000000..882c0ae Binary files /dev/null and b/docs/presentation_scille_21_06/img/cartographie_simplifie.png differ diff --git a/docs/presentation_scille_21_06/img/perrin.png b/docs/presentation_scille_21_06/img/perrin.png new file mode 100755 index 0000000..a05ebc6 Binary files /dev/null and b/docs/presentation_scille_21_06/img/perrin.png differ diff --git a/docs/presentation_scille_21_06/img/reparti.png b/docs/presentation_scille_21_06/img/reparti.png new file mode 100644 index 0000000..6ad66b4 Binary files /dev/null and b/docs/presentation_scille_21_06/img/reparti.png differ diff --git a/docs/presentation_scille_21_06/main.md b/docs/presentation_scille_21_06/main.md new file mode 100755 index 0000000..d3f6f9e --- /dev/null +++ b/docs/presentation_scille_21_06/main.md @@ -0,0 +1,135 @@ + + + + +# "Event Horizon": Lot 2 21/06/2023 +### JOLY Amaury (Laboratoire d'Informatique et Système, Parsec) +### __Encadrants:__ Emmanuel GODARD, Corentin TRAVERS (Equipe Algorithmique Distribuée) + +--- + +# Rappel des objectifs + +-- + +## Pour Parsec + +__Lot 2 :__ Ajout à Parsec d'un outil d'édition collaborative. + +Dans approche visant à maximiser les performances (latence et interactivité) et la résilience. + +-- + +## Pour le LIS + +Produire de la recherche sur la cohérence faible en milieu byzantin. + +-- + +## La synthèse des deux + +1. Faire un état de l'art des solutions existantes. + - Prendre des décisions sur les choix techniques à adopter. +2. Recherche d'un compromis algorithmique __résilience__/__intéractivité__. +3. Réaliser un produit innovant dans sa gestion de la cohérence. + - Chercher une valeur ajoutée pour l'utilisateur. + +--- + +# Mon travail depuis avril +## Quelques définitions + +-- + +## Quelques définitions + +__Systèmes répartis :__ +Système composé d'un ensemble d'acteur interconnecté réalisant une tâche commune. + + + +-- + +## Quelques définitions + +__Cohérence dans un système reparti:__ +Étude du comportement des données dans un système reparti d'un point de vue observateur. + +__Cohérence forte :__ +Comportement attendu dans le cas d'une exécution à un seul acteur. + +--- + +# Mon travail depuis avril +## État de l'art + + +-- + +## État de l'art + +- Cohérence dans les systèmes répartis. + - Lamports (1970) + - Perrin : Concurrence et Cohérence des Systèmes répartis (2017) + +--- +couverture \'Consistence et Cohérence des Systèmes réparties' M. Perrin + + +-- + +## État de l'art + +### Un (très) rapide résumé + +cartographie des critères de cohérences + +- Les critères de cohérences s'articulent autour de 3 propriétés élémentaires. +- La conjonction des 3 représente le comportement d'un programme séquentiel. +- Nous cherchons un compromis pour maximiser l'interactivité du produit + + +-- + +## État de l'art + +### Un (très) rapide résumé + +- Inventaire des différentes solutions existantes. + - Peu de littérature. + - Pas de taxonomie consensuelle, travail de classification + +- Peu de réflexions sur les potentiels fautes byzantines induites par la (les ?) cohérences faibles. + +--- + +# La suite + +-- + +## La liste des tâches + +- [ ] Réaliser l'état de l'art + - [x] Gestion de la cohérence dans les systèmes répartis. + - [ ] Faire l'inventaire des solutions existantes. (BFT weak consistency). + - [x] Lister les solutions algorithmiques dans la littérature. + - [ ] S'intéresser aux solutions open-source (e.g.: etherpad) + - [ ] Classer les solutions. +- [ ] Produire/adapter un algorithme dans une situation de référence (à déterminer). + - [ ] Formaliser les besoins du produit. + - [ ] Essayer de les satisfaire. +- [ ] Réaliser un PoC. + + +-- + +## Pour les mois à venir + +Je vous propose une réunion en distanciel (~2h) pour : +1. Vous présenter l'état de l'art. +2. Placer le produit suivant ces contraintes. + +--- + +# Merci ! +cartographie des critères de cohérences diff --git a/docs/presentation_scille_21_06/main.revealjs.htm b/docs/presentation_scille_21_06/main.revealjs.htm new file mode 100755 index 0000000..a719f32 --- /dev/null +++ b/docs/presentation_scille_21_06/main.revealjs.htm @@ -0,0 +1,218 @@ + + + + + + + main.revealjs.htm + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +

— title: “Cohérence faible byzantine appliquée au cloud” author: - +JOLY Amaury (Laboratoir d’Informatique et Système, Scille) date: +2023-06-12 lang: fr-FR

+
+ +
+
+ + + diff --git a/docs/presentation_scille_21_06/metropolis.css b/docs/presentation_scille_21_06/metropolis.css new file mode 100755 index 0000000..f552f44 --- /dev/null +++ b/docs/presentation_scille_21_06/metropolis.css @@ -0,0 +1,340 @@ +/** + * A simple theme for reveal.js presentations, derived from serif.css + * It's in the spirit of the Metropolis theme for beamer https://github.com/matze/mtheme + * + * This theme is Copyright (C) 2016 Vince Hodges, http://sourdoughlabs.com - it is MIT licensed. + */ + +@import url('https://fonts.googleapis.com/css?family=Fira+Sans'); + +.reveal a { + line-height: 1.3em; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #f1f1f1; + background-color: #f1f1f1; } + +body.dark { + background: #33474b; + background-color: #33474b; } + +body.dark .reveal { + color:#f1f1f1; +} + +body.dark .reveal h1, +body.dark .reveal h2, +body.dark .reveal h3, +body.dark .reveal h4, +body.dark .reveal h5, +body.dark .reveal h6 { + color:#f1f1f1; +} + +.reveal { + font-family: "Fira Sans"; + font-size: 32px; + font-weight: normal; + color: #33474b; } + +::selection { + color: #fff; + background: #26351C; + text-shadow: none; } + +.reveal .slides { + text-align:left; +} + +.reveal .slides > section, +.reveal .slides > section > section { + line-height: 1.2; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #33474b; + font-family: "Fira Sans"; + font-weight: normal; + line-height: 1; + letter-spacing: normal; + text-transform: none; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 1.77em; } + +.reveal h2 { + font-size: 1.30em; } + +.reveal h3 { + font-size: .95em; } + +.reveal h4 { + font-size: .75em; } + +.reveal h1 { + text-shadow: none; } + +h1.subtitle { + font-size: 1em; + padding-bottom:15px; + border-bottom: 2px solid #EB811B; +} + +h2.author, h3.date { + font-size: .6em; +} + +h1.title { + font-variant: small-caps; +} + +.level2 h1 { + font-size:1.57em; + font-variant: small-caps; + text-transform: lowercase; +} + +.titleslide h1 { + font-variant: small-caps; + font-size:1.67em; + margin-left:25px; + margin-right:25px; + padding-bottom: 10px; + border-bottom: 2px solid #EB811B; +} + + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal q, +.reveal blockquote { + quotes: none; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } + +.reveal code { + font-family: monospace; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; } + +.reveal sub { + vertical-align: sub; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #51483D; + text-decoration: none; + -webkit-transition: color 0.15s ease; + -moz-transition: color 0.15s ease; + transition: color 0.15s ease; } + +.reveal a:hover { + color: #8b7c69; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #25211c; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #000; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all 0.15s linear; + -moz-transition: all 0.15s linear; + transition: all 0.15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #51483D; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls .navigate-left, +.reveal .controls .navigate-left.enabled { + border-right-color: #51483D; } + +.reveal .controls .navigate-right, +.reveal .controls .navigate-right.enabled { + border-left-color: #51483D; } + +.reveal .controls .navigate-up, +.reveal .controls .navigate-up.enabled { + border-bottom-color: #51483D; } + +.reveal .controls .navigate-down, +.reveal .controls .navigate-down.enabled { + border-top-color: #51483D; } + +.reveal .controls .navigate-left.enabled:hover { + border-right-color: #8b7c69; } + +.reveal .controls .navigate-right.enabled:hover { + border-left-color: #8b7c69; } + +.reveal .controls .navigate-up.enabled:hover { + border-bottom-color: #8b7c69; } + +.reveal .controls .navigate-down.enabled:hover { + border-top-color: #8b7c69; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(235, 129, 27, .4); } + +.reveal .progress span { + background: rgba(235, 129, 27, 1); + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } diff --git a/docs/presentation_scille_21_06/presentation_lot2_amaury.zip b/docs/presentation_scille_21_06/presentation_lot2_amaury.zip new file mode 100644 index 0000000..aba5ca7 Binary files /dev/null and b/docs/presentation_scille_21_06/presentation_lot2_amaury.zip differ diff --git a/docs/presentation_scille_21_06/sunblind.css b/docs/presentation_scille_21_06/sunblind.css new file mode 100755 index 0000000..c22581d --- /dev/null +++ b/docs/presentation_scille_21_06/sunblind.css @@ -0,0 +1,340 @@ +/** + + [ sunblind ] + + A blindingly sunny theme for Reveal.js with Lora + Leto fonts and a colorful border. + By Josh Dzielak, https://dzello.com/, License MIT + + The bold border is optional and requires some HTML. To use it: + + 1. Add 4 divs to your HTML page: +
+
+
+
+ + 2. Set { margin: 0.2 } in the Reveal.js initializer to make sure + your presentation content doesn't collide with the frame. + + Like the theme but don't like the colors? Don't fret. Just change + $borderColor and/or $linkColor below to something else and rebuild. + + Or if you don't want to rebuild the theme just override the .line background + property with some CSS: + + .line { + background: ; + } + +*/ +@import url(https://fonts.googleapis.com/css?family=Lato:300,700); +@import url(https://fonts.googleapis.com/css?family=Lora:700); +section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 { + color: #141414; } + +.reveal .controls { + right: 50px; + bottom: 50px; } + +.line { + content: ''; + position: fixed; + background: #f6f195; + z-index: 105; } + .line.top { + left: 0; + top: 0; + width: 100%; + height: 30px; } + @media (max-width: 840px) { + .line.top { + height: 15px; } } + .line.bottom { + left: 0; + top: auto; + bottom: 0; + width: 100%; + height: 30px; } + @media (max-width: 840px) { + .line.bottom { + height: 15px; } } + .line.left { + left: 0; + top: 0; + width: 30px; + height: 200%; } + @media (max-width: 840px) { + .line.left { + width: 15px; } } + .line.right { + left: auto; + right: 0; + top: 0; + width: 30px; + height: 200%; } + @media (max-width: 840px) { + .line.right { + width: 15px; } } + +.reveal.has-dark-background .line { + display: none; } + +/********************************************* + * GLOBAL STYLES + *********************************************/ +body { + background: #fff; + background-color: #fff; } + +.reveal { + font-family: "Lato", serif; + font-size: 32px; + font-weight: normal; + color: #363636; } + +::selection { + color: #fff; + background: #ffc0d5; + text-shadow: none; } + +::-moz-selection { + color: #fff; + background: #ffc0d5; + text-shadow: none; } + +.reveal .slides > section, +.reveal .slides > section > section { + line-height: 1.3; + font-weight: inherit; } + +/********************************************* + * HEADERS + *********************************************/ +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + margin: 0 0 20px 0; + color: #141414; + font-family: "Lora", sans-serif; + font-weight: 700; + line-height: 1.2; + letter-spacing: normal; + text-transform: uppercase; + text-shadow: none; + word-wrap: break-word; } + +.reveal h1 { + font-size: 1.77em; } + +.reveal h2 { + font-size: 1.3em; } + +.reveal h3 { + font-size: .95em; } + +.reveal h4 { + font-size: .75em; } + +.reveal h1 { + text-shadow: none; } + +/********************************************* + * OTHER + *********************************************/ +.reveal p { + margin: 20px 0; + line-height: 1.3; } + +/* Ensure certain elements are never larger than the slide itself */ +.reveal img, +.reveal video, +.reveal iframe { + max-width: 95%; + max-height: 95%; } + +.reveal strong, +.reveal b { + font-weight: bold; } + +.reveal em { + font-style: italic; } + +.reveal ol, +.reveal dl, +.reveal ul { + display: inline-block; + text-align: left; + margin: 0 0 0 1em; } + +.reveal ol { + list-style-type: decimal; } + +.reveal ul { + list-style-type: disc; } + +.reveal ul ul { + list-style-type: square; } + +.reveal ul ul ul { + list-style-type: circle; } + +.reveal ul ul, +.reveal ul ol, +.reveal ol ol, +.reveal ol ul { + display: block; + margin-left: 40px; } + +.reveal dt { + font-weight: bold; } + +.reveal dd { + margin-left: 40px; } + +.reveal blockquote { + display: block; + position: relative; + width: 70%; + margin: 20px auto; + padding: 5px; + font-style: italic; + background: rgba(255, 255, 255, 0.05); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } + +.reveal blockquote p:first-child, +.reveal blockquote p:last-child { + display: inline-block; } + +.reveal q { + font-style: italic; } + +.reveal pre { + display: block; + position: relative; + width: 90%; + margin: 20px auto; + text-align: left; + font-size: 0.55em; + font-family: monospace; + line-height: 1.2em; + word-wrap: break-word; + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); } + +.reveal code { + font-family: monospace; + text-transform: none; } + +.reveal pre code { + display: block; + padding: 5px; + overflow: auto; + max-height: 400px; + word-wrap: normal; } + +.reveal table { + margin: auto; + border-collapse: collapse; + border-spacing: 0; } + +.reveal table th { + font-weight: bold; } + +.reveal table th, +.reveal table td { + text-align: left; + padding: 0.2em 0.5em 0.2em 0.5em; + border-bottom: 1px solid; } + +.reveal table th[align="center"], +.reveal table td[align="center"] { + text-align: center; } + +.reveal table th[align="right"], +.reveal table td[align="right"] { + text-align: right; } + +.reveal table tbody tr:last-child th, +.reveal table tbody tr:last-child td { + border-bottom: none; } + +.reveal sup { + vertical-align: super; } + +.reveal sub { + vertical-align: sub; } + +.reveal small { + display: inline-block; + font-size: 0.6em; + line-height: 1.2em; + vertical-align: top; } + +.reveal small * { + vertical-align: top; } + +/********************************************* + * LINKS + *********************************************/ +.reveal a { + color: #FF4081; + text-decoration: none; + -webkit-transition: color .15s ease; + -moz-transition: color .15s ease; + transition: color .15s ease; } + +.reveal a:hover { + color: #ff8db3; + text-shadow: none; + border: none; } + +.reveal .roll span:after { + color: #fff; + background: #f30053; } + +/********************************************* + * IMAGES + *********************************************/ +.reveal section img { + margin: 15px 0px; + background: rgba(255, 255, 255, 0.12); + border: 4px solid #363636; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } + +.reveal section img.plain { + border: 0; + box-shadow: none; } + +.reveal a img { + -webkit-transition: all .15s linear; + -moz-transition: all .15s linear; + transition: all .15s linear; } + +.reveal a:hover img { + background: rgba(255, 255, 255, 0.2); + border-color: #FF4081; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } + +/********************************************* + * NAVIGATION CONTROLS + *********************************************/ +.reveal .controls { + color: #FF4081; } + +/********************************************* + * PROGRESS BAR + *********************************************/ +.reveal .progress { + background: rgba(0, 0, 0, 0.2); + color: #FF4081; } + +.reveal .progress span { + -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); + transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } + +.reveal .progress { + z-index: 1000; + color: #ece11f; }