2024-03-29 20:08:34 -04:00
// GiftCheatSheet.tsx
2024-04-07 13:35:39 -04:00
import React , { useState } from 'react' ;
2024-03-29 20:08:34 -04:00
import './giftCheatSheet.css' ;
const GiftCheatSheet : React.FC = ( ) = > {
2024-04-07 13:35:39 -04:00
const [ copySuccess , setCopySuccess ] = useState ( false ) ;
const copyToClipboard = ( text : string ) = > {
navigator . clipboard . writeText ( text )
. then ( ( ) = > {
setCopySuccess ( true ) ; // Afficher le message de succès
2024-04-07 17:41:11 -04:00
console . log ( copySuccess ) ;
2024-04-07 13:35:39 -04:00
// 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 ) ;
} ) ;
} ;
2024-09-17 18:56:13 -04:00
const QuestionVraiFaux = "2+2 \\= 4 ? {T\n}// Utilisez les valeurs {T}, {F}, {TRUE} et {FALSE}" ;
2024-04-07 13:35:39 -04:00
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" ;
2024-09-17 18:56:13 -04:00
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" ;
2024-03-29 20:08:34 -04:00
return (
< div className = "gift-cheat-sheet" >
2025-01-11 02:22:14 -05:00
< h2 className = "subtitle" > Informations pratiques sur l & apos ; é diteur < / h2 >
2024-03-29 20:08:34 -04:00
< span >
2025-01-11 02:22:14 -05:00
L & apos ; é diteur utilise le format GIFT ( General Import Format Template ) créé pour la
2024-09-17 18:56:13 -04:00
plateforme Moodle afin de générer les mini - tests . Ci - dessous vous pouvez retrouver la
syntaxe pour chaque type de question & nbsp ; :
2024-03-29 20:08:34 -04:00
< / span >
< div className = "question-type" >
< h4 > 1 . Questions Vrai / Faux < / h4 >
< pre >
< code className = "selectable-text" >
2024-04-07 13:35:39 -04:00
{ QuestionVraiFaux }
2024-03-29 20:08:34 -04:00
< / code >
2024-04-07 13:35:39 -04:00
2024-03-29 20:08:34 -04:00
< / pre >
2024-04-07 13:35:39 -04:00
< button onClick = { ( ) = > copyToClipboard ( QuestionVraiFaux ) } > Copier < / button >
2024-03-29 20:08:34 -04:00
< / div >
< div className = "question-type" >
< h4 > 2 . Questions à choix multiple < / h4 >
< pre >
< code className = "question-code-block selectable-text" >
{
2024-04-07 13:35:39 -04:00
QuestionChoixMul
2024-03-29 20:08:34 -04:00
}
< / code >
< / pre >
2024-04-07 13:35:39 -04:00
< button onClick = { ( ) = > copyToClipboard ( QuestionChoixMul ) } > Copier < / button >
2024-03-29 20:08:34 -04:00
< / div >
< div className = "question-type" >
< h4 > 3 . Questions à choix multiple avec plusieurs réponses < / h4 >
< pre >
< code className = "question-code-block selectable-text" >
{
2024-04-07 13:35:39 -04:00
QuestionChoixMulMany
2024-03-29 20:08:34 -04:00
}
< / code >
< / pre >
2024-04-07 13:35:39 -04:00
< button onClick = { ( ) = > copyToClipboard ( QuestionChoixMulMany ) } > Copier < / button >
2024-03-29 20:08:34 -04:00
< / div >
< div className = "question-type" >
2024-09-17 18:56:13 -04:00
< h4 > 4 . Questions à réponse courte < / h4 >
2024-03-29 20:08:34 -04:00
< pre >
< code className = "question-code-block selectable-text" >
2024-04-07 13:35:39 -04:00
{ QuestionCourte }
2024-03-29 20:08:34 -04:00
< / code >
< / pre >
2024-04-07 13:35:39 -04:00
< button onClick = { ( ) = > copyToClipboard ( QuestionCourte ) } > Copier < / button >
2024-03-29 20:08:34 -04:00
< / div >
< div className = "question-type" >
2024-09-17 18:56:13 -04:00
< h4 > 5 . Question numérique < / h4 >
2024-03-29 20:08:34 -04:00
< pre >
< code className = "question-code-block selectable-text" >
{
2024-04-07 13:35:39 -04:00
QuestionNum
2024-03-29 20:08:34 -04:00
}
2024-04-07 13:35:39 -04:00
< / code >
2024-03-29 20:08:34 -04:00
< / pre >
2024-04-07 13:35:39 -04:00
< button onClick = { ( ) = > copyToClipboard ( QuestionNum ) } > Copier < / button >
2024-03-29 20:08:34 -04:00
< / div >
< div className = "question-type" >
< h4 > 6 . Paramètres optionnels < / h4 >
< pre >
< code className = "question-code-block selectable-text" >
{ '::Titre:: ' }
< span className = "code-comment selectable-text" >
{ ' // Ajoute un titre à une question' }
< / span >
< br / >
{ '# Feedback ' }
< span className = "code-comment selectable-text" >
{ ' // Feedback pour UNE réponse' }
< / span >
< br / >
{ '// Commentaire ' }
< span className = "code-comment selectable-text" >
{ ' // Commentaire non apparent' }
< / span >
< br / >
{ '#### Feedback général ' }
< span className = "code-comment selectable-text" >
{ ' // Feedback général pour une question' }
< / span >
< br / >
{ '%50% ' }
< span className = "code-comment selectable-text" >
{ " // Poids d'une réponse (peut être négatif)" }
< / span >
< / code >
< / pre >
< / div >
< div className = "question-type" >
< h4 > 7 . Paramètres optionnels < / h4 >
< p >
Si vous souhaitez utiliser certains caractères spéciaux dans vos é noncés ,
2025-01-11 02:22:14 -05:00
réponses ou feedback , vous devez « é chapper » ces derniers en ajoutant un \
2024-03-29 20:08:34 -04:00
devant :
< / p >
< pre >
< code className = "question-code-block selectable-text" >
{ '\\~ \n\\= \n\\# \n\\{ \n\\} \n\\:' }
< / code >
< / pre >
< / div >
< div className = "question-type" >
2024-04-16 12:14:20 -04:00
< h4 > 8 . LaTeX et Markdown < / h4 >
2024-03-29 20:08:34 -04:00
< p >
2024-09-17 18:56:13 -04:00
Les formats LaTeX et Markdown sont supportés dans cette application . Vous devez cependant penser
2025-01-11 02:22:14 -05:00
à « é chapper » les caractères spéciaux mentionnés plus haut .
2024-03-29 20:08:34 -04:00
< / p >
2025-01-11 02:22:14 -05:00
< p > Exemple d & apos ; é quation : < / p >
2024-03-29 20:08:34 -04:00
< pre >
2024-04-16 12:14:20 -04:00
< code className = "question-code-block selectable-text" > { '$$x\\= \\frac\\{y^2\\}\\{4\\}$$' } < / code >
< code className = "question-code-block selectable-text" > { '\n$x\\= \\frac\\{y^2\\}\\{4\\}$' } < / code >
< / pre >
< p > Exemple de texte Markdown : < / p >
< pre >
< code className = "question-code-block selectable-text" > { '[markdown]Grâce à la balise markdown, Il est possible d\'insérer du texte *italique*, **gras**, du `code` et bien plus.' } < / code >
2024-03-29 20:08:34 -04:00
< / pre >
< / div >
2025-01-14 16:21:32 -05:00
< div className = "question-type" id = "images-section" >
2024-09-17 18:56:13 -04:00
< h4 > 9 . Images < / h4 >
< p > Pour insérer une image dans une question ou dans une réponse , vous devez utiliser la syntaxe suivante : < / p >
2024-03-29 20:08:34 -04:00
< pre >
< code className = "question-code-block" >
2024-09-17 18:56:13 -04:00
{ '' }
2024-03-29 20:08:34 -04:00
< / code >
< / pre >
2025-01-11 02:22:14 -05:00
< p > Exemple d & apos ; une question Vrai / Faux avec l & apos ; image d & apos ; un chat : < / p >
2024-09-17 18:56:13 -04:00
< pre >
< code className = "question-code-block" >
{ '[markdown]Ceci est un chat: \n\n{T}' }
< / code >
< / pre >
2025-01-11 02:22:14 -05:00
< p > Note & nbsp ; : les images é tant spécifiées avec la syntaxe Markdown dans GIFT , on doit é chapper les caractères spéciales ( : ) dans l & apos ; URL de l & apos ; image . < / p >
2024-09-17 18:56:13 -04:00
< p > Note & nbsp ; : 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 ) . < / p >
2024-03-29 20:08:34 -04:00
< p style = { { color : 'red' } } >
2025-01-11 02:22:14 -05:00
Attention : l & apos ; ancienne fonctionnalité avec les balises < code > { '<img>' } < / code > n & apos ; est plus
2024-09-17 18:56:13 -04:00
supportée .
2024-03-29 20:08:34 -04:00
< / p >
2025-01-14 16:21:32 -05:00
< / div >
2024-03-29 20:08:34 -04:00
< div className = "question-type" >
< h4 > 10 . Informations supplémentaires < / h4 >
< p >
2025-01-11 02:22:14 -05:00
GIFT supporte d & apos ; autres formats de questions que nous ne gérons pas sur cette
2024-03-29 20:08:34 -04:00
application .
< / p >
< p > Vous pouvez retrouver la Documentation de GIFT ( en anglais ) : < / p >
< a href = "https://ethan-ou.github.io/vscode-gift-docs/docs/questions" >
Documentation de GIFT
< / a >
< / div >
< / div >
) ;
2024-04-07 13:39:00 -04:00
} ;
2024-03-29 20:08:34 -04:00
export default GiftCheatSheet ;