definir_dossier.image.moodle {SARP.moodle} | R Documentation |
Insérer une image dans une question
Description
Ces fonctions permettent de créer des liens vers des images dans les questions Moodle (texte, mais aussi réponses).
Usage
definir_dossier.image.moodle( URL, local = FALSE, ajouter = TRUE,
silencieux = FALSE )
lier_image.moodle( nom.image, largeur = -1, hauteur = -1,
description = NULL, interne = FALSE )
coder_image.moodle( nom.image,
dossier.image = get( "dossier.images",
envir = SARP.Moodle.env ) )
Arguments
URL |
L'URL du dossier ou de l'activité Moodle contenant les
images à lier. Voyez les détails pour plus d'information. Ce doit
être un vecteur de type |
local |
Précise si l'URL indiquée est locale ( |
ajouter |
Pour une URL locale, indique elle doit être ajoutée à
la liste des dossiers de recherche des fichiers ( |
silencieux |
Si |
nom.image |
Le nom du fichier contenant l'image. Si l'image est
externe au fichier XML, ce doit être le nom tel qu'il apparaîtra
dans le dossier moodle : attention aux conversions de caractères que
peut faire Moodle lors de l'import d'un fichier... Ce doit être un
vecteur de type |
dossier.image |
Le nom du dossier contenant l'image, en local. |
largeur , hauteur |
Les dimensions d'affichage de l'image dans la
question (équivalent des champs |
description |
Un vecteur de chaîne de caractère, ne contenant
qu'un seul élément. S'il existe, ce texte sera utilisé comme
description textuelle de l'image (champ |
interne |
Indique si l'image est déjà sur Moodle ( |
Details
La fonction lier_image.moodle
crée une balise HTML <img>
avec une URL permettant de trouver l'image. Cette URL est obtenue en
concaténant une racine et le nom du fichier image indiqué.
Pour une image extérieure au fichier XML, la racine, définie avec la
fonction definir_dossier.image.moodle
, peut être n'importe quel
schéma d'URL valide. Le plus souvent, ce sera soit une URL vers un
site externe qui contient les images soit, encore plus fréquemment, une
URL référençant l'image dans Moodle.
La méthode la plus simple pour obtenir cette racine de l'URL est la suivante :
Créez une activité « Dossier » dans Moodle, cachée aux utilisateurs.
Dans ce dossier, importez la ou les images, puis enregistrez.
Affichez le contenu de ce dossier, comme un utilisateur.
Affichez le code source de la page HTML correspondance (Ctrl-U avec Firefox)
Dans ce code source, repérez le nom d'une image, dans un élément
<img src="">
. Ce nom devrait ressembler à https://votre.site.moodle/pluginfile.php/00000/mod_folder/content/0/votre_image.jpg?forcedownload=1, où 0000 est un nombre quelconque qui identifie ce dossier dans la base Moodle.Mémorisez cette URL et utilisez-la comme base:
definir_dossier.image.moodle("https://votre.site.moodle/pluginfile.php/0000/mod_folder/content/0/" )
Toutes les images situées dans ce dossier (au moment de l'import du
fichier XML ou ajoutées ultérieurement) sont alors directement
utilisables dans la fonction lier_image.moodle
, en indiquant
juste leur nom.
Il est aussi possible d'inclure l'image dans le fichier XML. Pour
cela, précisez interne = TRUE
lors de l'appel à
lier_image.moodle
. Lors de la création de la question, les
balises ainsi générées seront identifiées et les images encodées dans
le fichier XML, avec la fonction coder_image.moodle
. Attention
cependant, les chemins d'accès locaux étant perdus, les fichiers
contenant les images doivent se trouver dans le répertoire de travail
au moment de la création de la question. Il est cependant possible
d'indiquer un ou plusieurs dossiers locaux d'images différents, avec
definir_dossier.image.moodle
, en précisant local = TRUE
.
Si un fichier correspondant à l'image est trouvé dans plusieurs de ces
dossiers, seule le premier est utilisé avec un avertissement. Les
dossiers sont cherchés dans l'ordre d'ajout à la liste des dossiers de
recherche, le dernier ajouté étant exploré en premier; un appel à
definir_dossier.image.moodle
pour un dossier déjà dans la liste
le replace en haut de la liste. La liste des dossiers peut être
remplacée par un seul dossier avec l'option ajouter = FALSE
de
definir_dossier.image.moodle
.
Value
La fonction lier_image.moodle
renvoie une chaîne de caractère
qui contient le code HTML créé. Cette chaîne peut ensuite être
utilisée, directement ou après concaténation avec d'autres éléments,
dans la constitution des textes ou des réponses de n'importe quelle
question moodle.
La fonction coder_image.moodle
renvoie une chaîne de caractère
qui contient le code XML permettant d'intégrer l'image dans le fichier
XML, y compris son encodage en base 64. Cette chaîne peut ensuite être
utilisée dans la constitution des élements d'une question moodle.
Attention cependant, savoir où le mettre dans le fichier XML n'est pas
trivial: normalement, l'utilisation de cette fonction ne devrait pas
être nécessaire, si lier_image.moodle
a été utilisée
correctement.
Attention
Vous devez appeler au moins une fois la fonction
definir_dossier.image.moodle
pour pouvoir ensuite lier des
images externes au fichier XML.
Au moment de la création du fichier XML, il n'y a aucun moyen de vérifier que l'URL indiquée est correcte...
Astuce
Pour importer plusieurs images en une fois, vous avez tout intérêt à les regrouper dans une archive au format zip, que vous décompresserez après l'avoir importée dans le dossier moodle ciblé.
Author(s)
Emmanuel Curis emmanuel.curis@parisdescartes.fr
See Also
inserer_formule.moodle
pour insérer une formule
mathématique à l'aide d'un code latex;
inserer_SMILES.moodle
pour insérer une formule chimique
à l'aide d'un code SMILES.
Examples
## Not run:
# Commencer un nouveau questionnaire
q <- debuter_xml.moodle( "exemple.image" )
# On crée une image quelconque
png( "essai.png", width = 640, height = 400 )
qqnorm( rnorm( 20 ), pch = 19 )
dev.off()
# On pose une question là-dessus
vrai_faux.moodle( paste0( "Le graphe ci-dessous est un diagramme de Henry",
"<br />\n",
lier_image.moodle( "essai.png", interne = TRUE ) ) )
# On termine le questionnaire
finir_xml.moodle( )
# Importez le fichier exemple.image.xml dans Moodle pour voir le résultat...
print( "Importez le fichier exemple.image.xml dans Moodle pour voir le résultat..." )
# Le code XML...
coder_image.moodle( "essai.png" )
## End(Not run)