Migrate to relearn theme

This commit is contained in:
nemunaire 2024-04-13 10:14:08 +02:00
parent 883ac78d78
commit c8dcfb5f89
19 changed files with 41 additions and 41 deletions

6
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "themes/hugo-theme-learn"] [submodule "themes/hugo-theme-relearn"]
path = themes/hugo-theme-learn path = themes/hugo-theme-relearn
url = https://github.com/matcornic/hugo-theme-learn.git url = https://github.com/McShelby/hugo-theme-relearn.git

View File

@ -3,20 +3,22 @@ languageCode = "fr-fr"
defaultContentLanguage = "fr" defaultContentLanguage = "fr"
title = "Challenge FIC" title = "Challenge FIC"
theme = "hugo-theme-learn" theme = "hugo-theme-relearn"
metaDataFormat = "yaml" metaDataFormat = "yaml"
[params] [params]
editURL = "https://gitlab.cri.epita.fr/ing/majeures/srs/fic/help/-/blob/master/content/" editURL = "https://gitlab.cri.epita.fr/ing/majeures/srs/fic/help/-/blob/master/content/"
description = "Préparation du challenge forensic EC2" description = "Préparation du challenge forensic EC2"
themeVariant = "blue" themeVariant = "blue"
author = "SRS 2024"
showVisitedLinks = true showVisitedLinks = true
disableBreadcrumb = false disableBreadcrumb = false
disableNextPrev = true disableNextPrev = true
[params.author]
name = "SRS"
[outputs] [outputs]
home = [ "HTML", "RSS", "JSON"] home = ['html', 'rss', 'search']
[[menu.shortcuts]] [[menu.shortcuts]]
name = "<i class='fas fa-envelope'></i> Contact" name = "<i class='fas fa-envelope'></i> Contact"

View File

@ -1,9 +1,7 @@
--- ---
date: 2019-04-04T15:59:52+02:00 archetype: home
title: Préparation du challenge forensic title: Préparation du challenge forensic
chapter: true date: 2019-04-04T15:59:52+02:00
--- ---
# Préparation du challenge forensic
![Le challenge au FIC](home.jpg) ![Le challenge au FIC](home.jpg)

View File

@ -71,19 +71,19 @@ id = 2
## Les flags ## Les flags
Retrouvez les différents flags supportés dans [la section dédiée de la documentation]({{< relref "/responses" >}}). Retrouvez les différents flags supportés dans [la section dédiée de la documentation]({{% relref "/responses" %}}).
Voici un aperçu des propriétés disponibles : Voici un aperçu des propriétés disponibles :
- `[[flag]]` : chaîne de validation pour résoudre l'étape : - `[[flag]]` : chaîne de validation pour résoudre l'étape :
* `type = "key"` : (facultatif, par défaut "key") type de flag : * `type = "key"` : (facultatif, par défaut "key") type de flag :
+ `key` : [drapeau classique]({{< relref "/responses/simple.md" >}}), + `key` : [drapeau classique]({{% relref "/responses/simple.md" %}}),
+ `number` : [drapeau numérique]({{< relref "/responses/number.md" >}}), + `number` : [drapeau numérique]({{% relref "/responses/number.md" %}}),
+ `vector` : [liste de drapeaux]({{< relref "/responses/vector.md" >}}), + `vector` : [liste de drapeaux]({{% relref "/responses/vector.md" %}}),
+ `text` : [contenu sur plusieurs lignes]({{< relref "/responses/multiline.md" >}}), + `text` : [contenu sur plusieurs lignes]({{% relref "/responses/multiline.md" %}}),
+ `mcq` : [question à choix multiple]({{< relref "/responses/mcq.md" >}}) (cases à cocher) avec ou sans [justification]({{< relref "/responses/mcq_justified.md" >}}), + `mcq` : [question à choix multiple]({{% relref "/responses/mcq.md" %}}) (cases à cocher) avec ou sans [justification]({{% relref "/responses/mcq_justified.md" %}}),
+ `ucq` : [liste de choix]({{< relref "/responses/ucq.md" >}}), + `ucq` : [liste de choix]({{% relref "/responses/ucq.md" %}}),
+ `label` : [texte informatif]({{< relref "/responses/label.md" >}}) qui ne donne pas lieu à validation ; + `label` : [texte informatif]({{% relref "/responses/label.md" %}}) qui ne donne pas lieu à validation ;
* `id = 42` : (facultatif) identifiant du flag au sein de l'étape, pour définir des dépendances ; * `id = 42` : (facultatif) identifiant du flag au sein de l'étape, pour définir des dépendances ;
* `label = "Intitulé"` : (facultatif, par défaut : `Flag`) intitulé du drapeau ; * `label = "Intitulé"` : (facultatif, par défaut : `Flag`) intitulé du drapeau ;
* `raw = 'MieH2athxuPhai6u'` ou `raw = ['part1', 'part2']` : drapeau(x) exact(s) à trouver ; sous forme de tableau, le participant n'aura pas connaissaance du nombre d'éléments (à moins de définir l'attribut `showlines`) ; * `raw = 'MieH2athxuPhai6u'` ou `raw = ['part1', 'part2']` : drapeau(x) exact(s) à trouver ; sous forme de tableau, le participant n'aura pas connaissaance du nombre d'éléments (à moins de définir l'attribut `showlines`) ;
@ -101,7 +101,7 @@ Voici un aperçu des propriétés disponibles :
* `[[flag.choice]]` : représente un choix, répétez autant de fois qu'il y a de choix (pour les `mcq` et `ucq`) : * `[[flag.choice]]` : représente un choix, répétez autant de fois qu'il y a de choix (pour les `mcq` et `ucq`) :
+ `label = "Intitulé de la réponse"` (facultatif, par défaut `raw`), + `label = "Intitulé de la réponse"` (facultatif, par défaut `raw`),
+ `value = true` (facultatif, par défaut `false`, sauf si `raw` est précisé) : valeur attendue pour ce choix, + `value = true` (facultatif, par défaut `false`, sauf si `raw` est précisé) : valeur attendue pour ce choix,
+ `raw = "Justification"` (nécessaire pour un [QCM justifié]({{< relref "/responses/mcq_justified.md" >}})) : utilisez une chaîne de caractères (notez qu'il n'est pas possible de combiner des réponses vraies justifiées et non justifiées), + `raw = "Justification"` (nécessaire pour un [QCM justifié]({{% relref "/responses/mcq_justified.md" %}})) : utilisez une chaîne de caractères (notez qu'il n'est pas possible de combiner des réponses vraies justifiées et non justifiées),
+ `help = "Flag correspondant"` : (facultatif) indication affichée dans le champ de texte des QCM justifiés, + `help = "Flag correspondant"` : (facultatif) indication affichée dans le champ de texte des QCM justifiés,
+ ... toutes les autres propriétés applicables à un flag simple peuvent être utilisées : `ordered`, `capture_regexp`, `casesensitive`, ... ; + ... toutes les autres propriétés applicables à un flag simple peuvent être utilisées : `ordered`, `capture_regexp`, `casesensitive`, ... ;
@ -152,7 +152,7 @@ Les étapes peuvent avoir des indices, sous forme de fichier à télécharger (a
## Les fichiers ## Les fichiers
Tous les fichiers sont importés par défaut, voir [la page concernée]({{< relref "/files/files.md" >}}). Tous les fichiers sont importés par défaut, voir [la page concernée]({{% relref "/files/files.md" %}}).
Cependant il peut être nécessaire de préciser certains attributs. Cela se fait alors avec : Cependant il peut être nécessaire de préciser certains attributs. Cela se fait alors avec :
- `[[file]]` : paramètres pour un indice : - `[[file]]` : paramètres pour un indice :

View File

@ -114,7 +114,7 @@ Il est possible de faire en sorte qu'un fichier ne soit débloqué qu'après la
Si votre défi dépend de ressources en ligne, qui peuvent ne pas être accessibles le jour du challenge, ou qui ne seront plus accessibles une fois la compétition passée, vous devez inclure une archive avec ces ressources. Il peut s'agir de captures d'écran, d'une version aspirée du site, ... Si votre défi dépend de ressources en ligne, qui peuvent ne pas être accessibles le jour du challenge, ou qui ne seront plus accessibles une fois la compétition passée, vous devez inclure une archive avec ces ressources. Il peut s'agir de captures d'écran, d'une version aspirée du site, ...
Il faudra alors faire figurer dans [le `challenge.txt`]({{< relref "challenge.md" >}}#les-fichiers) une référence au fichier, avec un attribut `hidden` : Il faudra alors faire figurer dans [le `challenge.txt`]({{% relref "challenge.md" %}}#les-fichiers) une référence au fichier, avec un attribut `hidden` :
``` toml ``` toml
[[file]] [[file]]
@ -146,7 +146,7 @@ Il est également nécessaire d'ajouter une entrée dans le fichier `DIGESTS.txt
## D'autres attributs ? ## D'autres attributs ?
Les fichiers peuvent posséder des attributs spécifiques dans [le `challenge.txt`]({{< relref "challenge.md" >}}#les-fichiers). Les fichiers peuvent posséder des attributs spécifiques dans [le `challenge.txt`]({{% relref "challenge.md" %}}#les-fichiers).
## Rendu ## Rendu

View File

@ -7,7 +7,7 @@ weight: 25
Ce fichier doit contenir la vidéo permettant la résolution du défi, Ce fichier doit contenir la vidéo permettant la résolution du défi,
étape par étape, chaque partie devant être accompagnée dexplications. étape par étape, chaque partie devant être accompagnée dexplications.
Si vous pensez qu'un article est plus approprié, vous pouvez remplacer Si vous pensez qu'un article est plus approprié, vous pouvez remplacer
ce fichier par [`resolution.md`]({{<relref "write-up">}}) ce fichier par [`resolution.md`]({{% relref "write-up" %}})
Ce fichier doit contenir la vidéo de résolution, montée selon ces caractéristiques : Ce fichier doit contenir la vidéo de résolution, montée selon ces caractéristiques :

View File

@ -6,7 +6,7 @@ weight: 24
Ce fichier doit contenir les explications détaillées permettant la résolution Ce fichier doit contenir les explications détaillées permettant la résolution
de l'étape. Si vous pensez qu'une vidéo est plus appropriée, vous pouvez remplacer de l'étape. Si vous pensez qu'une vidéo est plus appropriée, vous pouvez remplacer
ce fichier par [`resolution.mp4`]({{<relref "resolution">}}) ce fichier par [`resolution.mp4`]({{% relref "resolution" %}})
Votre article doit respecter les caractéristiques suivantes : Votre article doit respecter les caractéristiques suivantes :

View File

@ -16,7 +16,7 @@ L'équipe serveur se compose généralement de 3 à 4 étudiants volontaires.
le mettre à jour ; le mettre à jour ;
- maintenir et contribuer au projet - maintenir et contribuer au projet
[`fic-server`](https://gitlab.cri.epita.fr/ing/majeures/srs/fic/server/) ; [`fic-server`](https://gitlab.cri.epita.fr/ing/majeures/srs/fic/server/) ;
- s'entraîner sur l'infrastructure durant les [FIC Blancs]({{< relref "deroulement.md" >}}). - s'entraîner sur l'infrastructure durant les [FIC Blancs]({{% relref "deroulement.md" %}}).

View File

@ -31,7 +31,7 @@ Enfin, des *FIC Blancs* sont organisés aussi régulièrement que possible pour
À cette occasion, chaque groupe de 6 passera devant un jury aléatoire de 2 encadrants qui seront là uniquement pour juger votre dernière réalisation et valider le lancement de la suivante. À cette occasion, chaque groupe de 6 passera devant un jury aléatoire de 2 encadrants qui seront là uniquement pour juger votre dernière réalisation et valider le lancement de la suivante.
Il est attendu que vous présentiez à l'aide d'un vidéoprojecteur, rapidement et succinctement, le contexte de votre exercice sur la plateforme, puis sa résolution (en montrant [le write-up]({{< relref "../files/write-up.md" >}}) ou la [vidéo de résolution]({{< relref "../files/resolution.md" >}})). Il est attendu que vous présentiez à l'aide d'un vidéoprojecteur, rapidement et succinctement, le contexte de votre exercice sur la plateforme, puis sa résolution (en montrant [le write-up]({{% relref "../files/write-up.md" %}}) ou la [vidéo de résolution]({{% relref "../files/resolution.md" %}})).
Les encadrants testerons sur la plateforme les flags, vérifierons la cohérence du contexte et sa présentabilité (fautes d'ortographes, qualité, ...) Les encadrants testerons sur la plateforme les flags, vérifierons la cohérence du contexte et sa présentabilité (fautes d'ortographes, qualité, ...)

View File

@ -60,10 +60,10 @@ label
: intitulé du choix ; : intitulé du choix ;
raw raw
: [drapeau]({{< relref "/responses/simple.md" >}}) ou [tableau de drapeaux]({{< relref "/responses/vector.md" >}}) exact à trouver ; : [drapeau]({{% relref "/responses/simple.md" %}}) ou [tableau de drapeaux]({{% relref "/responses/vector.md" %}}) exact à trouver ;
capture_regexp capture_regexp
: (facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ; : (facultatif) [expression rationnelle]({{% relref "/responses/simple.md#flag-modulable" %}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
casesensitive casesensitive
: (facultatif, par défaut : `false`) prend en compte la casse de ce drapeau lors de la validation ; : (facultatif, par défaut : `false`) prend en compte la casse de ce drapeau lors de la validation ;

View File

@ -24,8 +24,8 @@ DtkpjGHQzPF6vOe907y5NQLvVFGXUq/FIJZxB8kfJdHEm2M4=
""" """
``` ```
Les mêmes attributs que pour les [flags simples]({{< relref Les mêmes attributs que pour les [flags simples]({{% relref
"/responses/simple.md#propriétés" >}}) sont disponibles. "/responses/simple.md#propriétés" %}}) sont disponibles.
## Rendu ## Rendu

View File

@ -23,8 +23,8 @@ max = 123456789
## Propriétés ## Propriétés
Les mêmes propriétés que pour les [flags simples]({{< relref Les mêmes propriétés que pour les [flags simples]({{% relref
"/responses/simple.md#propriétés" >}}) sont disponibles, et en plus : "/responses/simple.md#propriétés" %}}) sont disponibles, et en plus :
max max
: (facultatif) valeur maximale attendue dans le champ ; : (facultatif) valeur maximale attendue dans le champ ;

View File

@ -122,10 +122,10 @@ label
: (facultatif, par défaut : `Flag`) intitulé du drapeau ; : (facultatif, par défaut : `Flag`) intitulé du drapeau ;
raw raw
: drapeau exact à trouver ; sous [forme de tableau]({{< relref "/responses/vector.md" >}}), le participant n'aura pas connaissaance du nombre d'éléments ; : drapeau exact à trouver ; sous [forme de tableau]({{% relref "/responses/vector.md" %}}), le participant n'aura pas connaissaance du nombre d'éléments ;
capture_regexp capture_regexp
: (facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ; : (facultatif) [expression rationnelle]({{% relref "/responses/simple.md#flag-modulable" %}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
sort\_capture\_regexp\_groups sort\_capture\_regexp\_groups
: (facultatif, par défaut : `false`) trie les groupes capturant par ordre alphabétique avant concaténation ; : (facultatif, par défaut : `false`) trie les groupes capturant par ordre alphabétique avant concaténation ;
@ -143,7 +143,7 @@ help
: (facultatif, rarement utilisé) chaîne de caractères placée sous le champ du formulaire, idéale pour donner un détail supplémentaire. Cette propriété peut contenir du [Markdown](https://commonmark.org/). : (facultatif, rarement utilisé) chaîne de caractères placée sous le champ du formulaire, idéale pour donner un détail supplémentaire. Cette propriété peut contenir du [Markdown](https://commonmark.org/).
bonus_gain bonus_gain
: (facultatif) Voir [flag bonus]({{< relref "/responses/bonus.md" >}}). : (facultatif) Voir [flag bonus]({{% relref "/responses/bonus.md" %}}).
## Rendu ## Rendu

View File

@ -19,7 +19,7 @@ label
: (facultatif, par défaut : `Flag`) intitulé du drapeau ; : (facultatif, par défaut : `Flag`) intitulé du drapeau ;
raw raw
: drapeau exact à trouver ; forme de [tableau]({{< relref "/responses/vector.md" >}}) possible, mais déconseillée ; : drapeau exact à trouver ; forme de [tableau]({{% relref "/responses/vector.md" %}}) possible, mais déconseillée ;
choices_cost choices_cost
: (facultatif, par défaut 0) coût pour afficher les choix : avant l'affichage, se comporte comme un `flag` classique (si `choices_cost` = 0, les choix sont affichés directement) ; : (facultatif, par défaut 0) coût pour afficher les choix : avant l'affichage, se comporte comme un `flag` classique (si `choices_cost` = 0, les choix sont affichés directement) ;

View File

@ -38,7 +38,7 @@ raw
: tableau TOML de drapeaux exacts à trouver ; sous forme de tableau, le participant n'aura pas connaissaance du nombre d'éléments ; : tableau TOML de drapeaux exacts à trouver ; sous forme de tableau, le participant n'aura pas connaissaance du nombre d'éléments ;
capture_regexp capture_regexp
: (facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas). Attention, la regexp est appliquée seulement sur la représentation de la chaîne de caractères obtenue, pas sur chaque élément ; : (facultatif) [expression rationnelle]({{% relref "/responses/simple.md#flag-modulable" %}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas). Attention, la regexp est appliquée seulement sur la représentation de la chaîne de caractères obtenue, pas sur chaque élément ;
showlines showlines
: (facultatif, restreint aux vecteurs de moins de 10 éléments, par défaut : `false`) affiche directement le bon nombre de champs de réponse dans l'interface, plutôt que de laisser la taille du tableau inconnue aux participants ; : (facultatif, restreint aux vecteurs de moins de 10 éléments, par défaut : `false`) affiche directement le bon nombre de champs de réponse dans l'interface, plutôt que de laisser la taille du tableau inconnue aux participants ;

View File

@ -34,7 +34,7 @@ Il convient dans un premier temps de bien identifier l'image à installer sur ch
### Premier démarrage ### Premier démarrage
La manière la plus rapide d'installer les machines est de les démarrer en PXE (au moyen de l'image Docker [`fickit-deploy`]({{<relref "fickit-deploy">}})). La manière la plus rapide d'installer les machines est de les démarrer en PXE (au moyen de l'image Docker [`fickit-deploy`]({%<relref "fickit-deploy"%}})).
1. Récupérer les dernières images produites pour le système d'intégration continue. 1. Récupérer les dernières images produites pour le système d'intégration continue.
1. (Demander aux roots les certificats pour le domaine fic.srs.epita.fr). 1. (Demander aux roots les certificats pour le domaine fic.srs.epita.fr).
@ -139,4 +139,4 @@ nsenter -t 1 -a
## Connexion SSH et transfert de fichiers hors des machines ## Connexion SSH et transfert de fichiers hors des machines
Voir [l'article dédié]({{< relref "ssh.md" >}}) Voir [l'article dédié]({{% relref "ssh.md" %}})

View File

@ -24,7 +24,7 @@ Pour administrer la machine, il faut donc utiliser l'iDRAC.
Pour pouvoir se connecter au serveur, il est nécessaire d'avoir une clef SSH autorisée. Pour pouvoir se connecter au serveur, il est nécessaire d'avoir une clef SSH autorisée.
Les clefs SSH font parties des [métadonnées]({{< relref "fickit-deploy.md" >}}). Les clefs SSH font parties des [métadonnées]({{% relref "fickit-deploy.md" %}}).
## Interface d'administration ## Interface d'administration

@ -1 +0,0 @@
Subproject commit 3202533a746f91c67de1a8fa373c0328ec1b403d

@ -0,0 +1 @@
Subproject commit 77ed3f431ae6fffa8f63c0ac59a407f06167cb19