From 6879be07f42b0d42846e3abcd993a0cae917e690 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sat, 29 Oct 2022 21:35:49 +0200 Subject: [PATCH] Refactor files --- content/files/_index.md | 152 ------------------------------------ content/files/challenge.md | 2 +- content/files/digests.md | 2 +- content/files/files.md | 29 +++++++ content/files/finished.md | 14 ++++ content/files/heading.md | 21 +++++ content/files/hints.md | 11 +++ content/files/links.md | 2 +- content/files/overview.md | 48 ++++++++++++ content/files/resolution.md | 2 +- content/files/resources.md | 11 +++ content/files/statement.md | 19 +++++ content/files/title.md | 9 +++ content/files/write-up.md | 2 +- 14 files changed, 167 insertions(+), 157 deletions(-) create mode 100644 content/files/files.md create mode 100644 content/files/finished.md create mode 100644 content/files/heading.md create mode 100644 content/files/hints.md create mode 100644 content/files/overview.md create mode 100644 content/files/resources.md create mode 100644 content/files/statement.md create mode 100644 content/files/title.md diff --git a/content/files/_index.md b/content/files/_index.md index 66ef608..01ee96f 100644 --- a/content/files/_index.md +++ b/content/files/_index.md @@ -68,155 +68,3 @@ L'import s'effectuant selon l'ordre alphabétique, vous devriez utiliser le num Dans cet exemple, si l'ordre était déterminé uniquement par l'ordre alphabétique des noms de dossiers, le **d**euxième serait devant le **p**remier (`d}}). - - -### `title.txt` - -Ce fichier peut être utilisé pour y inscrire le nom du scénario, tel qu'il doit apparaître sur l'interface. - -Par défaut, sans ce fichier, c'est le nom du dossier contenant les challenges qui est utilisé. - - -### `heading.jpg` - -Il s'agit d'une image/photo représentative de votre scénario. Elle est affichée sur la page d'accueil dans une boîte montrant votre scénario parmis les autres ; et elle est aussi affichée dans le fond de la page lorsque l'on consulte les pages de votre scénario. - -{{% notice info %}} -Attention aux licences et contraintes (notamment l'obligation de citer la source ou le photographe). Celles-ci ne sont pas optionnelles étant donné que l'on veut diffuser nos challenges au public. - -Vous devriez utiliser [Unsplash](https://unsplash.com/) ou partager un travail personnel. -{{% /notice %}} - -La taille et l'orientation de l'image n'a pas d'importance, mais gardez en tête que c'est son centre qui sera affiché, si la hauteur dépasse la taille prévue. - -![Rendu heading.jpg](scenario_heading.png) - - -### `overview.txt` // `overview.md` - -Une présentation du contexte du scenario (~2-3 paragraphes + 1 paragraphe d'accroche), compréhensible par un décideur, petit schéma à l'appui. - -Le fichier **doit** comporter un paragraphe d'accroche (qui sera affiché plus gros que les suivants). Celui-ci correspond à la première **ligne** de votre fichier. - -Comme l'ensemble des textes importés, vous pouvez utiliser du [Markdown](https://commonmark.org/) pour mettre en forme vos textes. - -Vous pouvez insérer des images dans tous les textes : - - ![alt](path title) - -![Rendu overview.txt](scenario_overview_public.png) - -![Rendu overview.txt](scenario_headline.png) - - -## Fichiers pour une étape de scénario - -### `challenge.txt` - -Voir la [page dédiée]({{}}). - - -### `finished.txt` - -Remplissez ce fichier optionnel, lorsque vous souhaitez apporter une information aux participants une fois qu'ils ont validé cette étape. - -Comme l'ensemble des textes importés, vous pouvez utiliser du [Markdown](https://commonmark.org/) pour mettre en forme vos textes. - -![Rendu finished.txt](exercice_finished.png) - - -### `links.txt` - -Voir la [page dédiée]({{}}). - - -### `overview.md` - -Une présentation rapide de l'étape (~1-2 phrases), compréhensible par un décideur, petit schéma à l'appui si besoin. - -Le fichier **doit** comporter une phrase d'accroche (qui sera affichée plus grosse que les suivantes). Celle-ci correspond à la première ligne de votre fichier. - -Comme l'ensemble des textes importés, vous pouvez utiliser du [Markdown](https://commonmark.org/) pour mettre en forme vos textes. - -Gardez en tête que les *overview*, que ce soit scénario ou étapes, sont affichées au public : il s'agit à la fois d'aguicher le participant pour qu'il fasse votre scénario plutôt que celui d'un autre groupe, mais aussi de donner -envie au public de lire plus en détail. - -![Rendu overview.txt](exercice_overview_public.png) - -![Rendu overview.txt](exercice_headline.png) - - -### `resolution.mp4`/`resolution.md` - -Afin que les participants et les organisateurs puissent avoir un aperçu de la méthode de résolution attendu de votre étape, vous devez rédiger un article ou réaliser une vidéo dans lequel vous décrivez ou montrer chaque étape permettant -de conduire aux différents *flags*. - -Voir la page dédiée [aux vidéos]({{}}) ou [aux *write-ups*]({{}}). - - -### `statement.md` - -L'énoncé de l'étape, tel qu'il sera affiché sur le site, à destination des participants. - -Comme l'ensemble des textes importés, vous pouvez utiliser du [Markdown](https://commonmark.org/) pour mettre en forme vos textes. - -![Rendu statement.txt](exercice_statement.png) - - -### `files/` - -Utilisez ce dossier pour y placer les fichiers que vous mettez à disposition des participants. - -{{% notice warning %}} -Les fichiers binaires, avec lesquels on ne peut pas faire de diff, n'ont pas d'intérêt à être présents directement sur le dépôt : cela consomme inutilement de la place et rend le clonage du dépôt inutilement longue. Vous **devez** utiliser [git-lfs](https://docs.gitlab.com/ee/topics/git/lfs/) sur le GitLab du CRI pour tous les fichiers binaires contenus dans ce dossier. -{{% /notice %}} - -Chaque fichier doit avoir une entrée correspondante dans le fichier -`DIGESTS.txt` ; plus d'infos sur [la page `DIGESTS.txt`]({{}}). - -- Pas plus 4GB à télécharger **par étape** (ie. tous les fichiers de cette étape) : 4GB, c'est jusqu'à 5 minutes de téléchargement, c'est vraiment beaucoup lorsqu'on est impatient de faire l'étape. - -- Archives `.tar.bz2`, `.tar.gz`, `.tar.xz` ou `.zip` lorsque nécessaire. **PAS** de `.rar`, ... - -- Compresser (sans tarball, juste via **gzip**[^gz]) les fichiers lorsque c'est utile (memory dump, images BMP, disques, fichiers textes, ...). - - Indiquez dans le fichier `DIGESTS.txt` les hash du fichier compressé (utilisé par la plateforme pour vérifier que le fichier distribué n'a pas été altéré) **et** le hash du fichier initial décompressé (pour l'affichage sur la plateforme). - -- Utiliser `$(split -b 240M -d BIG_FILE BIG_FILE.)` pour uploader les gros fichiers sur **owncloud**. - - Ces fichiers seront concaténés automatiquement au moment de leur import sur la plateforme. - - Seul le hash du fichier entier est requis dans le fichier `DIGESTS.txt`. - -[^gz]: l'intérêt de `gzip` est que le serveur web sera capable de distribuer le fichier sans faire apparaître la compression. Voir le [module nginx utilisé](https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html). - - -### `hints/` - -Utilisez ce dossier pour y placer les fichiers que vous mettez à disposition, -dans le cadre d'indices. - -Chaque fichier doit avoir une entrée correspondante dans le fichier -`DIGESTS.txt` ; plus d'infos sur la page [`DIGESTS.txt`]({{}}). - -De plus, chaque fichier doit également posséder une entrée dans le fichier -[`challenge.txt`]({{}}), afin de lui attribuer son coût, -titre, ... - - -### `ressources/` - -Rangez dans ce dossier toutes les ressources et scripts que vous avez réalisés l'étape : pour sa construction ou sa résolution, les schémas du SI au premier étape concerné. - -Ajoutez éventuellement un `README.txt` avec les liens des outils externes. - -Ce dossier n'a pas pour vocation a être diffusé publiquement. diff --git a/content/files/challenge.md b/content/files/challenge.md index 6ab6faa..39e7a7c 100644 --- a/content/files/challenge.md +++ b/content/files/challenge.md @@ -1,7 +1,7 @@ --- date: 2019-04-04T15:59:52+02:00 title: challenge.txt -weight: 20 +weight: 15 --- Le fichier `challenge.txt` définit les paramètres de votre étape (au format [toml](https://github.com/toml-lang/toml/blob/master/versions/en/toml-v0.4.0.md)) : diff --git a/content/files/digests.md b/content/files/digests.md index 9542978..5299a5b 100644 --- a/content/files/digests.md +++ b/content/files/digests.md @@ -1,7 +1,7 @@ --- date: 2019-04-04T15:59:52+02:00 title: DIGESTS.txt -weight: 15 +weight: 29 --- Le fichier `DIGESTS.txt` se trouve dans le répertoire `files/` ou `hints/` de chaque étape. Il contient les condensats des fichiers se trouvant dans le dossier respectif. diff --git a/content/files/files.md b/content/files/files.md new file mode 100644 index 0000000..22930d9 --- /dev/null +++ b/content/files/files.md @@ -0,0 +1,29 @@ +--- +date: 2022-10-29T19:03:06+02:00 +title: files/ +weight: 30 +--- + +Utilisez ce dossier pour y placer les fichiers que vous mettez à disposition des participants. + +{{% notice warning %}} +Les fichiers binaires, avec lesquels on ne peut pas faire de diff, n'ont pas d'intérêt à être présents directement sur le dépôt : cela consomme inutilement de la place et rend le clonage du dépôt inutilement longue. Vous **devez** utiliser [git-lfs](https://docs.gitlab.com/ee/topics/git/lfs/) sur le GitLab du CRI pour tous les fichiers binaires contenus dans ce dossier. +{{% /notice %}} + +Chaque fichier doit avoir une entrée correspondante dans le fichier `DIGESTS.txt` ; plus d'infos sur [la page `DIGESTS.txt`]({{}}). + +- Pas plus 4GB à télécharger **par étape** (ie. tous les fichiers de cette étape) : 4GB, c'est jusqu'à 5 minutes de téléchargement, c'est vraiment beaucoup lorsqu'on est impatient de faire l'étape. + +- Archives `.tar.bz2`, `.tar.gz`, `.tar.xz` ou `.zip` lorsque nécessaire. **PAS** de `.rar`, ... + +- Compresser (sans tarball, juste via **gzip**[^gz]) les fichiers lorsque c'est utile (memory dump, images BMP, disques, fichiers textes, ...). + + Indiquez dans le fichier `DIGESTS.txt` les hash du fichier compressé (utilisé par la plateforme pour vérifier que le fichier distribué n'a pas été altéré) **et** le hash du fichier initial décompressé (pour l'affichage sur la plateforme). + +- Utiliser `$(split -b 240M -d BIG_FILE BIG_FILE.)` pour uploader les gros fichiers sur **owncloud**. + + Ces fichiers seront concaténés automatiquement au moment de leur import sur la plateforme. + + Seul le hash du fichier entier est requis dans le fichier `DIGESTS.txt`. + +[^gz]: l'intérêt de `gzip` est que le serveur web sera capable de distribuer le fichier sans faire apparaître la compression. Voir le [module nginx utilisé](https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html). diff --git a/content/files/finished.md b/content/files/finished.md new file mode 100644 index 0000000..410828f --- /dev/null +++ b/content/files/finished.md @@ -0,0 +1,14 @@ +--- +date: 2022-10-29T18:53:44+02:00 +title: finished.txt +weight: 34 +--- + +Remplissez ce fichier optionnel, lorsque vous souhaitez apporter une information aux participants une fois qu'ils ont validé cette étape. + +Comme l'ensemble des textes importés, vous pouvez utiliser du [Markdown](https://commonmark.org/) pour mettre en forme vos textes. + + +### Rendu + +![Rendu finished.txt](exercice_finished.png) diff --git a/content/files/heading.md b/content/files/heading.md new file mode 100644 index 0000000..14809f4 --- /dev/null +++ b/content/files/heading.md @@ -0,0 +1,21 @@ +--- +date: 2022-10-29T18:40:39+02:00 +title: heading.jpg +weight: 15 +--- + +Il s'agit d'une image/photo représentative de votre scénario. +Elle est affichée sur la page d'accueil dans une boîte montrant votre scénario parmis les autres ; et elle est aussi affichée dans le fond de la page lorsque l'on consulte les pages de votre scénario. + +{{% notice info %}} +Attention aux licences et contraintes (notamment l'obligation de citer la source ou le photographe). Celles-ci ne sont pas optionnelles étant donné que l'on veut diffuser nos challenges au public. + +Vous devriez utiliser [Unsplash](https://unsplash.com/), partager un travail personnel ou bien encore profiter d'[une intelligence artificielle](https://labs.openai.com/). +{{% /notice %}} + +La taille et l'orientation de l'image n'a pas d'importance, mais gardez en tête que c'est son centre qui sera affiché, si la hauteur dépasse la taille prévue. + + +### Rendu + +![Rendu heading.jpg](scenario_heading.png) diff --git a/content/files/hints.md b/content/files/hints.md new file mode 100644 index 0000000..9d7383e --- /dev/null +++ b/content/files/hints.md @@ -0,0 +1,11 @@ +--- +date: 2022-10-29T19:04:22+02:00 +title: hints/ +weight: 31 +--- + +Utilisez ce dossier pour y placer les fichiers que vous mettez à disposition, dans le cadre d'indices. + +Chaque fichier doit avoir une entrée correspondante dans le fichier `DIGESTS.txt` ; plus d'infos sur la page [`DIGESTS.txt`]({{}}). + +De plus, chaque fichier doit également posséder une entrée dans le fichier [`challenge.txt`]({{}}), afin de lui attribuer son coût, titre, ... diff --git a/content/files/links.md b/content/files/links.md index 308f0f4..ada7fe2 100644 --- a/content/files/links.md +++ b/content/files/links.md @@ -1,7 +1,7 @@ --- date: 2019-04-04T15:59:52+02:00 title: links.txt -weight: 30 +weight: 35 --- + `links.txt` : webographie publiée avec les solutions diff --git a/content/files/overview.md b/content/files/overview.md new file mode 100644 index 0000000..13b89e8 --- /dev/null +++ b/content/files/overview.md @@ -0,0 +1,48 @@ +--- +date: 2022-10-29T18:43:59+02:00 +title: overview.md +weight: 12 +--- + +Le fichier `overview.md` (ou `overview.txt`) est une présentation du contexte diffusée publiquement, qui doit être compréhensible par un décideur. + +Il existe 1 fichier par scénario ainsi qu'1 fichier par étape. Pour le scénario, il s'agit de présenter le contexte du scénario, tandis que pour l'étape, il s'agit de présenter le contexte général de l'étape, qu'est-ce qui va se passer. Le tout, sans jamais dévoiler ou donner d'indices sur des éléments d'une autre étape (puisque les `overview` sont publiques et accessibles de tous). + + +## Scénario + +Le fichier `overview.md` est une présentation du contexte du scenario (~2-3 paragraphes + 1 paragraphe d'accroche), compréhensible par un décideur, avec petit schéma à l'appui. + +Le fichier **doit** comporter un paragraphe d'accroche (qui sera affiché plus gros que les suivants). Celui-ci correspond à la première **ligne** de votre fichier. + +Comme l'ensemble des textes importés, vous pouvez utiliser du [Markdown](https://commonmark.org/) pour mettre en forme vos textes. + +Vous pouvez insérer des images dans tous les textes : + + ![alt](path title) + + +### Rendu + +![Rendu overview.txt](scenario_overview_public.png) + +![Rendu overview.txt](scenario_headline.png) + + +## Étape + +Une présentation rapide de l'étape (~1-2 phrases), compréhensible par un décideur, petit schéma à l'appui si besoin. + +Le fichier **doit** comporter une phrase d'accroche (qui sera affichée plus grosse que les suivantes). Celle-ci correspond à la première ligne de votre fichier. + +Comme l'ensemble des textes importés, vous pouvez utiliser du [Markdown](https://commonmark.org/) pour mettre en forme vos textes. + +Gardez en tête que les *overview*, que ce soit scénario ou étapes, sont affichées au public : il s'agit à la fois d'aguicher le participant pour qu'il fasse votre scénario plutôt que celui d'un autre groupe, mais aussi de donner +envie au public de lire plus en détail. + + +### Rendu + +![Rendu overview.txt](exercice_overview_public.png) + +![Rendu overview.txt](exercice_headline.png) diff --git a/content/files/resolution.md b/content/files/resolution.md index a82873e..6f746a6 100644 --- a/content/files/resolution.md +++ b/content/files/resolution.md @@ -1,7 +1,7 @@ --- date: 2019-04-04T15:59:52+02:00 title: resolution.mp4 -weight: 35 +weight: 25 --- Ce fichier doit contenir la vidéo permettant la résolution de l'étape et suivant diff --git a/content/files/resources.md b/content/files/resources.md new file mode 100644 index 0000000..52e83a6 --- /dev/null +++ b/content/files/resources.md @@ -0,0 +1,11 @@ +--- +date: 2022-10-29T19:05:05+02:00 +title: resources/ +weight: 40 +--- + +Rangez dans ce dossier toutes les ressources et scripts que vous avez réalisés l'étape : pour sa construction ou sa résolution, les schémas du SI au premier étape concerné. + +Ajoutez éventuellement un `README.txt` avec les liens des outils externes. + +Ce dossier n'a pas pour vocation a être diffusé publiquement. diff --git a/content/files/statement.md b/content/files/statement.md new file mode 100644 index 0000000..b8f6e51 --- /dev/null +++ b/content/files/statement.md @@ -0,0 +1,19 @@ +--- +date: 2022-10-29T18:54:43+02:00 +title: statement.md +weight: 18 +--- + +Le fichier `statement.md` (ou `statement.txt`) est l'énoncé de l'étape, tel qu'il sera affiché sur le site, à destination des participants. + +Il doit bien poser le contexte, expliquer notamment pourquoi on est là, qu'est-ce qui justifie la démarche qui sera effectuée lors de l'étape, au sein de l'entreprise. + +N'oubliez pas de donner des objectifs clairs sur ce que l'on attend des participants avec les fichiers que vous fournissez. +Restez tout de même suffisamment évasif pour ne pas dévoiler involontairement des éléments demandés. + +Comme l'ensemble des textes importés, vous pouvez utiliser du [Markdown](https://commonmark.org/) pour mettre en forme vos textes. + + +### Rendu + +![Rendu statement.txt](exercice_statement.png) diff --git a/content/files/title.md b/content/files/title.md new file mode 100644 index 0000000..55f144b --- /dev/null +++ b/content/files/title.md @@ -0,0 +1,9 @@ +--- +date: 2022-10-29T19:05:40+02:00 +title: title.txt +weight: 14 +--- + +Ce fichier peut être utilisé pour y inscrire le nom du scénario, tel qu'il doit apparaître sur l'interface. + +Par défaut, sans ce fichier, c'est le nom du dossier contenant les challenges qui est utilisé. diff --git a/content/files/write-up.md b/content/files/write-up.md index 6bf0047..2b11798 100644 --- a/content/files/write-up.md +++ b/content/files/write-up.md @@ -1,7 +1,7 @@ --- date: 2021-10-25T09:48+02:00 title: resolution.txt -weight: 34 +weight: 24 --- Ce fichier doit contenir les explications détaillées permettant la résolution