// GiftCheatSheet.tsx import React, { useState } from 'react'; import './giftCheatSheet.css'; import FileCopyIcon from '@mui/icons-material/FileCopy'; 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 = "::Exemple de question vrai/faux:: \n 2+2 \\= 4 ? {T} //Utilisez les valeurs {T}, {F}, {TRUE} et {FALSE}."; const QuestionChoixMul = "::Ville capitale du Canada:: \nQuelle ville est la capitale du Canada? {\n~ Toronto\n~ Montréal\n= Ottawa #Rétroaction spécifique.\n} // Commentaire non visible (au besoin)"; const QuestionChoixMulMany = "::Villes canadiennes:: \n 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#### Rétroaction globale de la question. \n} // Utilisez tilde (signe de vague) pour toutes les réponses. // On doit indiquer le pourcentage de chaque réponse."; const QuestionCourte ="::Clé et porte:: \n Avec quoi ouvre-t-on une porte? { \n= clé \n= clef \n} // Permet de fournir plusieurs bonnes réponses. // Note: La casse n'est pas prise en compte."; const QuestionNum ="::Question numérique avec marge:: \nQuel est un nombre de 1 à 5 ? {\n#3:2\n}\n \n// Plage mathématique spécifiée avec des points de fin d'intervalle. \n ::Question numérique avec plage:: \n Quel est un nombre de 1 à 5 ? {\n#1..5\n} \n\n// Réponses numériques multiples avec crédit partiel et commentaires.\n::Question numérique avec plusieurs réponses::\nQuand est né Ulysses S. Grant ? {\n# =1822:0 # Correct ! Crédit complet. \n=%50%1822:2 # Il est né en 1822. Demi-crédit pour être proche.\n}"; return (

Informations pratiques sur l'éditeur

L'éditeur utilise le format GIFT (General Import Format Template) créé pour la plateforme Moodle afin de générer les mini-tests. Ci-dessous vous pouvez retrouver la syntaxe pour chaque type de question :

1. Questions Vrai/Faux

                    
                        {QuestionVraiFaux}
                    

                

2. Questions à choix multiple

                    
                        {
                            QuestionChoixMul
                        }
                    
                

3. Questions à choix multiple avec plusieurs réponses

                    
                        {
                            QuestionChoixMulMany
                        }
                    
                

4. Questions à réponse courte

                    
                        {QuestionCourte}
                    
                

5. Questions numériques

                    
                        {
                            QuestionNum
                        }
                                        
                

6. Paramètres optionnels

                    
                        {'::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)"}

7. Caractères spéciaux

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\\:'}
                    
                

8. LaTeX et Markdown

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.'}
                

9. Images

Il est possible d'insérer une image dans une question, une réponse (choix multiple) et dans une rétroaction. D'abord, le format de l'élément doit être [markdown]. Ensuite utilisez la syntaxe suivante :

                    
                        {'!['}
                        {`text alternatif`}
                        {']('}
                        {`URL-de-l'image`}
                        {' "'}
                        {`texte de l'infobulle`}
                        {'")'}
                    
                

Exemple d'une question Vrai/Faux avec l'image d'un chat:

                    
                        {'[markdown]Ceci est un chat: \n![Image de chat](https\\://www.example.com\\:8000/chat.jpg "Chat mignon")\n{T}'}
                    
                

Exemple d'une question à choix multiple avec l'image d'un chat dans une rétroaction :

                    
                        {`[markdown]Qui a initié le développement d'ÉvalueTonSavoir {=ÉTS#OUI! ![](https\\://www.etsmtl.ca/assets/img/ets.svg "\\=50px")
                        ~EPFL#Non...}`}
                    
                

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.

Attention: l'ancienne fonctionnalité avec les balises {''} n'est plus supportée.

10. Informations supplémentaires

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
); }; export default GiftCheatSheet;