Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ebios RM tiles #1099

Merged
merged 9 commits into from
Dec 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion frontend/messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -896,5 +896,28 @@
"p1": "P1",
"p2": "P2",
"p3": "P3",
"p4": "P4"
"p4": "P4",
"ebiosWs1": "Workshop 1: Framing and Security Foundation",
"ebiosWs2": "Workshop 2: Risk Sources",
"ebiosWs3": "Workshop 3: Strategic Scenarios",
"ebiosWs4": "Workshop 4: Operational Scenarios",
"ebiosWs5": "Workshop 5: Risk Treatment",
"ebiosWs1_1": "Define the study framework",
"ebiosWs1_2": "Define business and technical perimeter",
"ebiosWs1_3": "Identify feared events",
"ebiosWs1_4": "Determine the security foundation",
"ebiosWs2_1": "Identify risk sources and targeted objectives",
"ebiosWs2_2": "Evaluate RS/TO pairs",
"ebiosWs2_3": "Select RS/TO pairs",
"ebiosWs3_1": "Map the ecosystem",
"ebiosWs3_2": "Develop strategic scenarios",
"ebiosWs3_3": "Define security measures for the ecosystem",
"ebiosWs4_1": "Develop operational scenarios",
"ebiosWs4_2": "Evaluate the likelihood of operational scenarios",
"ebiosWs5_1": "Conduct a risk assessment",
"ebiosWs5_2": "Decide on risk treatment strategy",
"ebiosWs5_3": "Define security measures",
"ebiosWs5_4": "Assess and document residual risks",
"ebiosWs5_5": "Establish risk monitoring framework",
"activity": "Activity"
}
25 changes: 24 additions & 1 deletion frontend/messages/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -872,5 +872,28 @@
"forgotPassword": "Mot de passe oublié",
"ssoSettingsUpdated": "Paramètres SSO mis à jour",
"scoreSemiColon": "Score:",
"mappingInferenceHelpText": "Ces variables sont fixes et ne changeront pas en fonction de la source."
"mappingInferenceHelpText": "Ces variables sont fixes et ne changeront pas en fonction de la source.",
"ebiosWs1": "Atelier 1 : Cadrage et Socle de sécurité",
"ebiosWs2": "Atelier 2 : Sources de risque",
"ebiosWs3": "Atelier 3 : Scénarios stratégiques",
"ebiosWs4": "Atelier 4 : Scenarios opértionnels",
"ebiosWs5": "Atelier 5 : Traitement du risque",
"ebiosWs1_1": "Définir le cadre de l’étude",
"ebiosWs1_2": "Définir le périmètre métier et technique",
"ebiosWs1_3": "Identifier les événements redoutés",
"ebiosWs1_4": "Déterminer le socle de sécurité",
"ebiosWs2_1": "Identifier les sources de risque et objectifs visés",
"ebiosWs2_2": "Évaluer les couples SR/OV",
"ebiosWs2_3": "Sélectionner les couples SR/OV",
"ebiosWs3_1": "Cartographier l’écosystème",
"ebiosWs3_2": "Élaborer les scénarios stratégiques",
"ebiosWs3_3": "Définir les mesures de sécurité sur l’écosystème",
"ebiosWs4_1": "Elaborer les scénarios opérationnels",
"ebiosWs4_2": "Evaluer la vraisemblance des scénarios opérationnel",
"ebiosWs5_1": "Réaliser une évaluation des risques",
"ebiosWs5_2": "Décider de la stratégie de traitement du risque",
"ebiosWs5_3": "Définir les mesures de sécurité",
"ebiosWs5_4": "Évaluer et documenter les risques résiduels",
"ebiosWs5_5": "Mettre en place le cadre de suivi des risques",
"activity": "Activité"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<script lang="ts">
import * as m from '$paraglide/messages';
import { safeTranslate } from '$lib/utils/i18n';
import Tile from './Tile.svelte';
const data = {
ws1: [
{ title: safeTranslate(m.ebiosWs1_1()), status: 'done', href: '#' },
{ title: safeTranslate(m.ebiosWs1_2()), status: 'done', href: '#' },
{ title: safeTranslate(m.ebiosWs1_3()), status: 'to_do', href: '#' },
{ title: safeTranslate(m.ebiosWs1_4()), status: 'to_do', href: '#' }
],
ws2: [
{ title: safeTranslate(m.ebiosWs2_1()), status: 'to_do', href: '#' },
{ title: safeTranslate(m.ebiosWs2_2()), status: 'to_do', href: '#' },
{ title: safeTranslate(m.ebiosWs2_3()), status: 'to_do', href: '#' }
],
ws3: [
{ title: safeTranslate(m.ebiosWs3_1()), status: 'to_do', href: '#' },
{ title: safeTranslate(m.ebiosWs3_2()), status: 'to_do', href: '#' },
{ title: safeTranslate(m.ebiosWs3_3()), status: 'done', href: '#' }
],
ws4: [
{ title: safeTranslate(m.ebiosWs4_1()), status: 'to_do', href: '#' },
{ title: safeTranslate(m.ebiosWs4_2()), status: 'to_do', href: '#' }
],
ws5: [
{ title: safeTranslate(m.ebiosWs5_1()), status: 'done', href: '#' },
{ title: safeTranslate(m.ebiosWs5_2()), status: 'done', href: '#' },
{ title: safeTranslate(m.ebiosWs5_3()), status: 'to_do', href: '#' },
{ title: safeTranslate(m.ebiosWs5_4()), status: 'to_do', href: '#' },
{ title: safeTranslate(m.ebiosWs5_5()), status: 'done', href: '#' }
]
};
</script>

<div class="h-screen w-full p-8">
<div
class="card bg-white shadow-lg w-full h-full grid xl:grid-cols-3 lg:grid-cols-2 md:grid-cols-1 gap-8 p-8"
>
<Tile title={m.ebiosWs1()} accent_color="bg-pink-600" status="to_do" meta={data.ws1} />
<Tile title={m.ebiosWs2()} accent_color="bg-fuchsia-900" status="to_do" meta={data.ws2} />
<Tile title={m.ebiosWs3()} accent_color="bg-teal-500" status="to_do" meta={data.ws3} />
<Tile title={m.ebiosWs4()} accent_color="bg-yellow-600" status="to_do" meta={data.ws4} />
<Tile title={m.ebiosWs5()} accent_color="bg-red-500" status="to_do" meta={data.ws5} />
<Tile title={m.summary()} accent_color="bg-purple-800" status="to_do" />
</div>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<script lang="ts">
import * as m from '$paraglide/messages';
import { safeTranslate } from '$lib/utils/i18n';

export let title = 'activity';
export let status = '';
export let meta = null;
export let href = '#';
export let accent_color = '';
</script>

<div class="p-5 {accent_color}">
<div class="rounded-lg bg-white p-4 flex flex-col justify-between h-full">
<div class="flex justify-between mb-2">
<div class="font-semibold">{title}</div>
<div class="text-xl" title={safeTranslate(status)}>
{#if status == 'to_do'}
<i class="fa-solid fa-exclamation"></i>
{:else if status == 'in_progress'}
<i class="fa-solid fa-spinner"></i>
{:else if status == 'done'}
<i class="fa-solid fa-check"></i>
{/if}
</div>
</div>
{#if meta}
<div class="flex mx-auto">
<div>
<ol class="relative text-gray-500 border-s border-gray-200">
{#each meta as step, i}
{#if step.status == 'done'}
<li class="mb-10 ms-6">
<a href={step.href} class="hover:text-purple-800">
<span
class="absolute flex items-center justify-center w-8 h-8 bg-green-200 rounded-full -start-4 ring-4 ring-white"
>
<i class="fa-solid fa-check"></i>
</span>
<h3 class="font-medium leading-tight">{m.activity()} {i + 1}</h3>
<p class="text-sm">{step.title}</p>
</a>
</li>
{:else}
<li class="mb-10 ms-6">
<a href={step.href} class="hover:text-purple-800">
<span
class="absolute flex items-center justify-center w-8 h-8 bg-gray-100 rounded-full -start-4 ring-4 ring-white"
>
<i class="fa-solid fa-clipboard-check"></i>
</span>
<h3 class="font-medium leading-tight">{m.activity()} {i + 1}</h3>
<p class="text-sm">{step.title}</p>
</a>
</li>
{/if}
{/each}
</ol>
</div>
</div>
{/if}
<div class="justify-end flex"></div>
</div>
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,10 @@
link="assets/graph"
tags={['analysis', 'assets']}
/>
<Article
title="Ebios RM (dev)"
desc="Tiles to manage the workshop"
link="/ebios-rm/5de0c0c3-678c-43f0-bdb6-b2ed434e1843"
tags={['analysis', 'risk']}
/>
</div>
Loading