// GiftCheatSheet.tsx import React, { useState } from 'react'; import './giftCheatSheet.css'; const GiftCheatSheet: React.FC = () => { const [copySuccess, setCopySuccess] = useState(false); const copyToClipboard = (text: string) => { navigator.clipboard.writeText(text) .then(() => { setCopySuccess(true); // Afficher le message de succès console.log(copySuccess); // Masquer le message de succès après quelques secondes setTimeout(() => { setCopySuccess(false); }, 3000); // 3 secondes }) .catch((error) => { console.error('Erreur lors de la copie dans le presse-papiers : ', error); }); }; const QuestionVraiFaux = "2+2 \\= 4 ? {T\n}// Utilisez les valeurs {T}, {F}, {TRUE} et {FALSE}"; const QuestionChoixMul = "Quelle ville est la capitale du Canada? {\n~ Toronto\n~ Montréal\n= Ottawa #Bonne réponse!\n}// La bonne réponse est Ottawa"; const QuestionChoixMulMany = "Quelles villes trouve-t-on au Canada? { \n~ %33.3% Montréal \n ~ %33.3% Ottawa \n ~ %33.3% Vancouver \n ~ %-100% New York \n ~ %-100% Paris \n#### La bonne réponse est Montréal, Ottawa et Vancouver \n}\n// Utilisez le signe ~ pour toutes les réponses.\n// On doit indiquer le pourcentage de chaque réponse."; const QuestionCourte ="Avec quoi ouvre-t-on une porte? { \n= clé \n= clef \n}\n// Permet de fournir plusieurs bonnes réponses.\n// Note: La casse n'est pas prise en compte."; const QuestionNum ="Question {#=Nombre\n} //OU \nQuestion {#=Nombre:Tolérance\n} // OU \nQuestion {#=PetitNombre..GrandNombre\n}\n// La tolérance est un pourcentage.\n// La réponse doit être comprise entre PetitNombre et GrandNombre"; return (
{QuestionVraiFaux}
{
QuestionChoixMul
}
{
QuestionChoixMulMany
}
{QuestionCourte}
{
QuestionNum
}
{'::Titre:: '}
{' // Ajoute un titre à une question'}
{'# Feedback '}
{' // Feedback pour UNE réponse'}
{'// Commentaire '}
{' // Commentaire non apparent'}
{'#### Feedback général '}
{' // Feedback général pour une question'}
{'%50% '}
{" // Poids d'une réponse (peut être négatif)"}
Si vous souhaitez utiliser certains caractères spéciaux dans vos énoncés, réponses ou feedback, vous devez «échapper» ces derniers en ajoutant un \ devant:
{'\\~ \n\\= \n\\# \n\\{ \n\\} \n\\:'}
Les formats LaTeX et Markdown sont supportés dans cette application. Vous devez cependant penser à «échapper» les caractères spéciaux mentionnés plus haut.
Exemple d'équation:
{'$$x\\= \\frac\\{y^2\\}\\{4\\}$$'}
{'\n$x\\= \\frac\\{y^2\\}\\{4\\}$'}
Exemple de texte Markdown:
{'[markdown]Grâce à la balise markdown, Il est possible d\'insérer du texte *italique*, **gras**, du `code` et bien plus.'}
Pour insérer une image dans une question ou dans une réponse, vous devez utiliser la syntaxe suivante:
{''}
Exemple d'une question Vrai/Faux avec l'image d'un chat:
{'[markdown]Ceci est un chat: \n\n{T}'}
Note : les images étant spécifiées avec la syntaxe Markdown dans GIFT, on doit échapper les caractères spéciales (:) dans l'URL de l'image.
Note : On ne peut utiliser les images dans les messages de rétroaction (GIFT), car les rétroactions ne supportent pas le texte avec formatage (Markdown).
Attention: l'ancienne fonctionnalité avec les balises {' n'est plus
supportée.
'}
GIFT supporte d'autres formats de questions que nous ne gérons pas sur cette application.
Vous pouvez retrouver la Documentation de GIFT (en anglais):
Documentation de GIFT