diff --git a/content/files/challenge.md b/content/files/challenge.md index e909e0c..8d7391d 100644 --- a/content/files/challenge.md +++ b/content/files/challenge.md @@ -11,38 +11,38 @@ weight: 20 * `id = CHID` : identifiant du challenge ; * `theme = "NomDuTheme"` : (facultatif) nom du thème dans lequel aller chercher l'identifiant (par défaut, on prend le thème courant) ; - `[[flag]]` : drapeau classique à valider pour résoudre le challenge : - * `id = 42` : (facultatif) identifiant du flag au sein de l'exercice, pour définir des dépendances ; + * `id = 42` : (facultatif) identifiant du flag au sein de l'exercice, pour définir des dépendances ; * `label = "Intitulé"` : (facultatif, par défaut : `Flag`) intitulé du drapeau ; * `raw = 'MieH2athxuPhai6u'` ou `raw = ['part1', 'part2']` : drapeau exact à trouver ; sous forme de tableau, le participant n'aura pas connaissaance du nombre d'éléments ; - * `validator_regexp = "^(?:sudo +)?(.*)$"` : (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ; + * `validator_regexp = "^(?:sudo +)?(.*)$"` : (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ; * `ordered = false` : (facultatif, par défaut : `false`) ignore l'ordre dans lequels les éléments du tableau sont passés ; * `ignorecase = true` : (facultatif, par défaut : `false`) ignore la case de ce drapeau ; - * `help = "Indication"` : (facultatif) chaîne de caractères placée sous le champ du formulaire, idéale pour donner une indication de format ; - * `[[flag.unlock_file]]` : bloque l'accès à un fichier tant que le flag n'est pas obtenu : - + `filename = "toto.txt"` : nom du fichier tel qu'il apparaît dans le dossier `files` ; - * `[[flag.need_flag]]` : liste des flags devant être validés avant de débloquer celui-ci : - + `id = 23` : identifiant du flag tel qu'il a été défini plus tôt dans le fichier ; + * `help = "Indication"` : (facultatif) chaîne de caractères placée sous le champ du formulaire, idéale pour donner une indication de format ; + * `[[flag.unlock_file]]` : bloque l'accès à un fichier tant que le flag n'est pas obtenu : + + `filename = "toto.txt"` : nom du fichier tel qu'il apparaît dans le dossier `files` ; + * `[[flag.need_flag]]` : liste des flags devant être validés avant de débloquer celui-ci : + + `id = 23` : identifiant du flag tel qu'il a été défini plus tôt dans le fichier ; - `[[flag_mcq]]` : drapeau sous forme de question à choix multiple (cases à cocher) : * `label = "Intitulé du groupe"` : (facultatif) intitulé du groupe de choix ; * `[[flag_mcq.choice]]` : représente un choix, répétez autant de fois qu'il y a de choix : - + `label = "Intitulé de la réponse"`, + + `label = "Intitulé de la réponse"`, + `value = true` : (facultatif, par défaut `false`) valeur attendue pour ce choix ; pour un QCM justifié, utilisez une chaîne de caractères (notez qu'il n'est pas possible de combiner des réponses vraies justifiées et 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 ; - `[[flag_ucq]]` : drapeau sous forme de question à choix unique : - * `id = 42` : (facultatif) identifiant du flag au sein de l'exercice, pour définir des dépendances ; + * `id = 42` : (facultatif) identifiant du flag au sein de l'exercice, pour définir des dépendances ; * `label = "Intitulé du groupe"` : (facultatif) intitulé du groupe de choix ; * `raw = 'MieH2athxuPhai6u'` : drapeau attendu parmi les propositions ; - * `validator_regexp = "^(?:sudo +)?(.*)$"` : (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ; - * `help = "Indication"` : (facultatif, uniquement si `displayAs = select`) chaîne de caractères placée sous le champ du formulaire ; + * `validator_regexp = "^(?:sudo +)?(.*)$"` : (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ; + * `help = "Indication"` : (facultatif, uniquement si `displayAs = select`) chaîne de caractères placée sous le champ du formulaire ; * `displayAs = "select|radio"` : (facultatif, par défaut `radio`) manière dont est affichée le choix : `select` pour une liste de choix, `radio` pour des boutons radios ; * `choices_cost = 20` : (facultatif, par défaut `0`) coût pour afficher les choix, avant l'affichage, se comporte comme un `flag` classique (à 0, les choix sont affichés directement) ; * `[[flag_ucq.choice]]` : représente un choix, répétez autant de fois qu'il y a de choix : - + `value = "response"` : valeur qui sera retournée pour comparaison avec la valeur `raw` du ucq, - + `label = "Intitulé de la réponse"` : (facultatif, par défaut identique à `value`) ; - * `[[flag_ucq.unlock_file]]` : bloque l'accès à un fichier tant que le flag n'est pas obtenu : - + `filename = "toto.txt"` : nom du fichier tel qu'il apparaît dans le dossier `files` ; - * `[[flag_ucq.need_flag]]` : liste des flags devant être validés avant de débloquer celui-ci : - + `id = 23` : identifiant du flag tel qu'il a été défini plus tôt dans le fichier ; + + `value = "response"` : valeur qui sera retournée pour comparaison avec la valeur `raw` du ucq, + + `label = "Intitulé de la réponse"` : (facultatif, par défaut identique à `value`) ; + * `[[flag_ucq.unlock_file]]` : bloque l'accès à un fichier tant que le flag n'est pas obtenu : + + `filename = "toto.txt"` : nom du fichier tel qu'il apparaît dans le dossier `files` ; + * `[[flag_ucq.need_flag]]` : liste des flags devant être validés avant de débloquer celui-ci : + + `id = 23` : identifiant du flag tel qu'il a été défini plus tôt dans le fichier ; - `[[hint]]` : paramètres pour un indice : * `filename = "toto.txt"` : (mutuellement exclusif avec `content`) nom du fichier tel qu'il apparaît dans le dossier `hints` ; * `content = "Contenu de l'indice"` : (mutuellement exclusif avec `filename`) contenu de l'indice affiché, en markdown ;