diff --git a/lang/fr/vpl.php b/lang/fr/vpl.php
index c63c8ff803231585033d3a2f36f075ded62454d7..d6cf8e78304941c08230d23642fa2f4d9c85902a 100644
--- a/lang/fr/vpl.php
+++ b/lang/fr/vpl.php
@@ -1,404 +1,403 @@
-<?php
-$string['about']= 'À propos';
-$string['acceptcertificates']='Accepter les certificats auto-signés';
-$string['acceptcertificates_description']='Décocher cette option si les serveurs d\'exécution n\'utilisent pas de certificats auto-signés';
-$string['acceptcertificatesnote']= "<p>Vous utilisez une connexion chiffrée<p/>
-	<p>Pour utiliser une connexion chiffrée avec les serveurs d'exécution vous devez acceptez ses certificats de sécurité</p>
-<p>Si vous ne souhaitez pas les accepter ou si vous rencontrez un problème avec ce processus, vous pouvez essayer d'utiliser une connexion http (non chiffrée) ou un autre navigateur.</p>
-<p>Veuillez cliquer sur les liens suivants (serveur #) et accepter le certificat proposé.</p>";
-$string['addfile'] = 'Ajouter un fichier';
-$string['advanced']='Avancé';
-$string['allfiles']='Tous les fichiers';
-$string['allsubmissions'] ='Toutes les soumissions';
-$string['anyfile'] = 'Fichier quelconque';
-$string['attemptnumber'] = 'Tentative numéro {$a}';
-$string['automaticevaluation'] = 'Évaluation automatique';
-$string['automaticgrading'] = 'Note automatique';
-$string['averageperiods'] = 'Périodes moyennes {$a}';
-$string['averagetime'] = 'Temps moyen {$a}';
-$string['basedon'] = 'Basé sur';
-$string['basic'] = 'Basique';
-$string['browserupdate'] = 'Veuillez mettre à jour votre navigateur vers la dernière version<br />ou en utiliser un autre qui supporte Websocket.';
-$string['calculate'] = 'Calculer';
-$string['changesNotSaved'] = 'Les modifications n\'ont pas été sauvegardées';
-$string['check_jail_servers'] = 'Vérifier les serveurs d\'exécution';
-$string['closed'] = 'Fermé';
-$string['comments'] = 'Commentaires';
-$string['compilation'] = 'Compilation';
-$string['connected']='connecté';
-$string['connecting']='connexion en cours';
-$string['connection_closed']='connexion fermée';
-$string['connection_fail']='échec de la connexion';
-$string['console']= 'Console';
-$string['copy']= 'Copier';
-$string['create_new_file']= 'Créer un nouveau fichier';
-$string['currentstatus']='État actuel';
-$string['cut']= 'Couper';
-$string['datesubmitted'] = 'Date de soumission';
-$string['debug'] = 'Déboguer';
-$string['debugging']='Débogage en cours';
-$string['defaultexefilesize'] = 'Taille maximale par défaut d\'un fichier d\'exécution';
-$string['defaultexememory'] = 'Utilisation mémoire maximale par défaut';
-$string['defaultexeprocesses'] = 'Nombre de processus maximal par défaut';
-$string['defaultexetime'] = 'Temps d\'exécution maximal par défaut';
-$string['defaultfilesize']= 'Taille maximale par défaut de chaque fichier soumis';
-$string['defaultresourcelimits'] = 'Limite par défaut des ressources d\'exécution';
-$string['delete']= 'Supprimer';
-$string['delete_file_fq'] = "Supprimer le fichier '{\$a}' ?";
-$string['delete_file_q']= 'Supprimer le fichier ?';
-$string['deleteallsubmissions'] = 'Supprimer toutes les soumissions';
-$string['description'] = 'Description';
-$string['diff'] = 'diff';
-$string['discard_submission_period'] = 'Discard submission period';
-$string['discard_submission_period_description'] = 'For each student and assignment, the system tries to discard submissions. The system keep the last one and at least a submission for every period';
-$string['download'] = 'Télécharger';
-$string['downloadallsubmissions'] = 'Télécharger toutes les soumissions';
-$string['duedate'] = 'Date limite de rendu';
-$string['edit'] = 'Éditer';
-$string['editing'] = 'En cours d\'édition';
-$string['evaluate'] = 'Évaluer';
-$string['evaluateonsubmission'] = 'Évaluer à la soumission seulement';
-$string['evaluating']='En cours d\'évaluation';
-$string['evaluation'] = 'Évaluation';
-$string['examples'] = 'Exemples';
-$string['execution'] = 'Exécution';
-$string['executionfiles'] = 'Fichiers d\'exécution';
-$string['executionoptions'] = 'Options d\'exécution';
-$string['file']= 'Fichier';
-$string['file_name']= 'Nom du fichier';
-$string['fileadded'] = "Le fichier '{\$a}' a été ajouté";
-$string['filedeleted'] = "Le fichier '{\$a}' a été supprimé";
-$string['filenotadded'] = 'Le fichier n\'a pas été ajouté';
-$string['fileNotChanged'] = 'Le fichier n\'a pas été modifié';
-$string['filenotdeleted'] = 'Le fichier \'{$a}\' n\'a PAS été supprimé';
-$string['filenotrenamed'] = 'Le fichier \'{$a}\' n\'a PAS été renommé';
-$string['filerenamed'] = "Le fichier '{\$a->from}' a été renommé en '{\$a->to}'";
-$string['filesChangedNotSaved'] = 'Les fichiers sont modifiés mais n\'ont pas été enregistrés"';
-$string['filesNotChanged'] = 'Les fichiers n\'ont pas été modifiés';
-$string['filestoscan']='Fichiers à parcourir';
-$string['fileupdated'] = "Le fichier '{\$a}' a été mis à jour";
-$string['find'] = "Rechercher";
-$string['find_replace']= 'Rechercher/Remplacer';
-$string['fulldescription'] = 'Description complète';
-$string['fullscreen'] = 'Plein écran';
-$string['getjails'] = 'Obtenir les serveurs d\'exécution';
-$string['gradeandnext'] = 'Noter & suivant';
-$string['graded'] = 'Noté';
-$string['gradedbyuser'] = 'Noté par l\'utilisateur';
-$string['gradedon'] = "Noté le";
-$string['gradedonby'] = 'Noté le {$a->date} par {$a->gradername}';
-$string['gradenotremoved'] = 'La note n\'a PAS été retirée. Vérifiez la configuration de l\'activité dans le carnet de notes.';
-$string['gradenotsaved'] = 'La note n\'a PAS été sauvegardée. Vérifiez la configuration de l\'activité dans le carnet de notes.';
-$string['gradeoptions'] = 'Options d\'évaluation';
-$string['grader'] = "Évaluateur";
-$string['gradercomments'] = 'Rapport d\'évaluation';
-$string['graderemoved'] = 'La note a été retirée';
-$string['groupwork']='Travail de groupe';
-$string['inconsistentgroup']='Vous n\'êtes pas membre d\'un unique groupe  (0 ou >1)';
-$string['incorrect_file_name']= 'Nom de fichier incorrect';
-$string['individualwork']='Travail individuel';
-$string['instanceselection'] = 'Sélection du VPL';
-$string['isexample'] = 'Cette activité sert d\'exemple';
-$string['jail_servers'] = 'Liste des serveurs d\'exécution';
-$string['jail_servers_config'] = 'Configuration des serveurs d\'exécution';
-$string['jail_servers_description'] = 'Écrire un ligne pour chaque serveur';
-$string['joinedfiles']='Les fichiers sélectionnés ont été joints';
-$string['keepfiles'] = 'Fichiers à conserver à l\'exécution';
-$string['lasterror']='Informations sur la dernière erreur';
-$string['lasterrordate']='Date de la dernière erreur';
-$string['listofcomments']='Liste des commentaires';
-$string['listsimilarity']='Liste des similarités trouvées';
-$string['listwatermarks'] = 'Liste des filigranes';
-$string['local_jail_servers'] = 'Serveurs d\'exécution locaux';
-$string['manualgrading'] = 'Notation manuelle';
-$string['maxexefilesize'] = 'Taille maximale d\'un fichier d\'exécution';
-$string['maxexememory'] = 'Mémoire maximale utilisée';
-$string['maxexeprocesses'] = 'Nombre de processus maximal';
-$string['maxexetime'] = 'Temps d\'exécution maximal';
-$string['maxfiles'] = 'Nombre de fichiers maximal';
-$string['maxfilesexceeded'] ='Nombre maximal de fichiers dépassé';
-$string['maxfilesize']= 'Taille maximale des fichiers soumis';
-$string['maxfilesizeexceeded']= 'Taille maximale du fichier dépassée';
-$string['maximumperiod'] = 'Période maximale {$a}';
-$string['maxresourcelimits'] = 'Limites maximales des ressources d\'exécution';
-$string['maxsimilarityoutput'] = 'Sortie maximale par similarité';
-$string['menucheck_jail_servers'] = 'Vérifier les serveurs d\'exécution';
-$string['menuexecutionfiles'] = 'Fichiers d\'exécution';
-$string['menuexecutionoptions'] = 'Options';
-$string['menukeepfiles'] = 'Fichier à conserver';
-$string['menulocal_jail_servers'] = 'Serveurs d\'exécution locaux';
-$string['menuresourcelimits'] = 'Limites de ressources';
-$string['minsimlevel']='Niveau minimal de similarité à montrer';
-$string['moduleconfigtitle'] = 'Config. du module VPL';
-$string['modulename'] = 'Laboratoire virtuel de programmation (VPL)';
-$string['modulenameplural'] = 'Laboratoires virtuels de programmation';
-$string['new']= 'Nouveau';
-$string['new_file_name']= 'Nom du nouveau fichier';
-$string['next']= 'Suivant';
-$string['nojailavailable'] = 'Pas de serveur d\'exécution disponible';
-$string['noright'] = 'Vous n\'avez pas le droit d\'accès';
-$string['nosubmission'] = 'Pas de soumission disponible';
-$string['notexecuted'] = 'Non exécuté';
-$string['notgraded'] = 'Non évalué';
-$string['notsaved']='Non enregistré';
-$string['novpls'] = 'Pas de VPL défini';
-$string['nowatermark'] = 'Propre filigrane {$a}';
-$string['nsubmissions'] = '{$a} soumissions';
-$string['numcluster'] = 'Cluster {$a}';
-$string['open'] = 'Ouvrir';
-$string['opnotallowfromclient'] = 'Action non autorisée depuis cette machine';
-$string['options']= 'Options';
-$string['optionsnotsaved'] = 'Les options n\'ont pas été enregistrées';
-$string['optionssaved'] = 'Options enregistrées';
-$string['origin'] = 'Origine';
-$string['othersources']='Autres sources à utiliser';
-$string['outofmemory']='A court de mémoire';
-$string['paste']= 'Coller';
-$string['pluginadministration'] ='Administration du VPL';
-$string['pluginname'] = 'Laboratoire de programmation virtuel';
-$string['previoussubmissionslist'] = 'Soumissions précédentes';
-$string['proposedgrade'] = 'Note proposée: {$a}';
-$string['proxy'] = 'proxy';
-$string['proxy_description'] = 'Proxy de Moodle vers les serveurs d\'exécution';
-$string['redo']= 'Refaire';
-$string['regularscreen'] = 'Écran normal';
-$string['removegrade'] = 'Retirer la note';
-$string['rename']= 'Renommer';
-$string['rename_file']= 'Renommer le fichier';
-$string['replace_find']= 'Remplacer/Rechercher';
-$string['requestedfiles'] = 'Fichiers requis';
-$string['requirednet']= 'Allowed submission from net';
-$string['requiredpassword'] = 'Un mot de passe est nécessaire';
-$string['resetfiles'] = 'Réinitialiser les fichiers';
-$string['resetvpl'] = 'Réinitialiser {$a}';
-$string['resourcelimits'] = 'Limites de ressources';
-$string['restrictededitor'] = 'Désactiver le téléversement externe de fichiers, le copier/coller de contenu externe';
-$string['retrieve'] = 'Récupérer les résultat';
-$string['run'] = 'Exécuter';
-$string['running']='En cours d\'exécution';
-$string['save'] = 'Enregistrer';
-$string['save']='Enregistrer';
-$string['savecontinue'] = 'Enregistrer et continuer';
-$string['saved'] = 'Enregistré';
-$string['savedfile'] = "Le fichier '{\$a}' a été enregistré";
-$string['saveoptions'] = 'Enregistrer les paramètres';
-$string['saving']='En cours d\'enregistrement';
-$string['scanactivity']='Activité';
-$string['scandirectory']='Dossier';
-$string['scanningdir'] = 'Scan du dossier ...';
-$string['scanoptions']='Options du scan';
-$string['scanother'] ='Scan similarities in added sources';
-$string['scanzipfile']='fichier zip';
-$string['select_all']= 'Tout sélectionner';
-$string['server']='Serveur';
-$string['serverexecutionerror'] = 'Erreur du serveur d\'exécution';
-$string['shortdescription'] = 'Description courte';
-$string['similarity'] = 'Similarité';
-$string['similarto']='Similaire à';
-$string['startdate'] = 'Disponible à partir du';
-$string['submission'] = 'Soumission';
-$string['submissionperiod'] = 'Période de soumission';
-$string['submissionrestrictions'] = 'Restrictions sur la soumission';
-$string['submissions'] = 'Soumissions';
-$string['submissionselection'] = 'Sélection de la soumission';
-$string['submissionslist'] = 'Liste des soumissions';
-$string['submissionview'] = 'Voir la soumission';
-$string['submittedby'] = 'Soumis par {$a}';
-$string['submittedon'] = 'Soumis le';
-$string['submittedonp'] = 'Soumis le {$a}';
-$string['sureresetfiles'] = 'Souhaitez-vous perdre votre travail et rétablir les fichiers dans leur état d\'origine ?';
-$string['test'] = 'Tester l\'activité';
-$string['testcases'] = 'Cas de tests';
-$string['timelimited'] ='Temps limité';
-$string['timeout'] ='Limite de temps dépassée';
-$string['timeunlimited'] = 'Sans limite de temps';
-$string['totalnumberoferrors']="Erreurs";
-$string['undo']= 'Annuler';
-$string['unexpected_file_name']= "Nom de fichier incorrect: '{\$a->expected}' attendu, trouvé '{\$a->found}'";
-$string['unzipping'] = 'Décompression ...';
-$string['uploadfile'] = 'Charger un fichier';
-$string['usevariations'] = 'Utiliser les variantes';
-$string['variation'] = 'Varianten {$a}';
-$string['variation_options'] = 'Options des variantes';
-$string['variations'] = 'Variantes';
-$string['variations_unused'] = 'Cette activité a des variantes, mais elles sont désactivées';
-$string['variationtitle'] = 'Titre de la variante';
-$string['varidentification'] = 'Identification';
-$string['visiblegrade']='Visible';
-$string['vpl:addinstance'] = 'Ajouter de nouvelles activités vpl';
-$string['vpl:grade'] = 'Noter une soumission VPL';
-$string['vpl:manage'] = 'Gérer un VPL';
-$string['vpl:setjails'] = 'Définir les serveurs d\'exécution pour des instances particulières de VPL';
-$string['vpl:similarity'] = 'Chercher des similarités dans les soumissions VPL';
-$string['vpl:submit'] = 'Faire des soumissions VPL';
-$string['vpl:view'] = 'Voir la description complète d\'un VPL';
-$string['vpl'] = 'Laboratoire de Programmation Virtuel';
-$string['VPL_COMPILATIONFAILED'] = 'La compilation ou préparation de l\'exécution à échoué';
-$string['vpl_debug.sh'] = 'Ce script prépare le deboguage';
-$string['vpl_evaluate.cases'] = 'Cas de test pour l\'évaluation';
-$string['vpl_evaluate.sh'] = 'Ce script prépare l\'évaluation';
-$string['vpl_run.sh'] = 'Ce script prépare l\'exécution';
-$string['workingperiods'] = 'Périodes de travail';
-$string['worktype']='Type de travail';
-$string['websocket_protocol'] = 'Protocole WebSocket';
-$string['websocket_protocol_description'] = 'Type de protocole WebSocket (ws:// or wss://) utilisé par le navigateur pour se connecter aux serveurs d\'exécution';
-$string['always_use_wss'] = 'Toujours utiliser le protocole websocket chiffré (wss)';
-$string['always_use_ws'] = 'Toujours utiliser le protocole websocket non-chiffré (ws)';
-$string['depends_on_https'] = 'Décider d\'utiliser ws ou wss sleon l\'utilisation de  http ou https';
-
-$string['check_jail_servers_help'] = "<p>This page check and show the status of execution servers used
-	for this activity.</p>";
-$string['executionfiles_help'] = '<h2>Introduction</h2>
-<p>Here you set the files that are needed to prepare the execution,
-debug or assessment of a submission. This includes scripting files,
-program test files and data files.</p>
-<h2>Default script to run or debug</h2>
-<p>If you don\'t set script files for run or  debug submissions, the system
-will resolve the language you use (based on file name extensions) and use a
-predefined script.
-<h2>Automatic evaluation</h2>
-<p>The incorporates features to facilitate the evaluation of student\'s submissions.
-This feature allows to run the student program and check its output for a given input.
-To set up the evaluation cases you must populate the file &quot;vpl_evaluate.cases&quot;.
-<p>The file "vpl_evaluate.cases" has the following format:
-<ul>
-<li> "<strong>case </strong>= Description of case": Optional. Set an start of test case definition.</li>
-<li> "<strong>input </strong>= text": can use several lines. Ends with other instruction.</li>
-<li> "<strong>output </strong>= text": can use several lines. Ends with other instruction. A case can have differents correct output. There are three types of output: numbers, text and exact test:
-<ul>
-<li> <strong>number</strong>: defined as sequence of numbers (integers and floats). Only numbers in the output are checked, other text are ignored. Floats are checked with tolerance</li>
-<li> <strong>text</strong>: defined as text without double quote. Only words are checked and the rest of chars are ignored, the comparation is case-insensitive </li>
-<li> <strong>exact text</strong>: defined as text into double quote. The exact match is used to test the output.</li>
-</ul>
-</li>
-<li> "<strong>grade reduction</strong> = [value|percentage%]" : By default an error reduces student\'s grade
-(starts with maxgrade) by (grade_range/number of cases) but with this instruction you can change
-the reduction value or percentage.</li>
-</ul>
-</p>
-<h2>General use</h2>
-<p>A new file can be added by writing its name in the box  &quot;<b>Add file</b>&quot;
-and then clicking on the button &quot;<b>Add file</b>&quot;.</p>
-<p>An existing file can be uploaded by means of the  &quot;<b>Upload file</b>&quot;.<p>All the added  or uploaded files can
-be edited, and all of them, except the three scripting files mentioned
-below, can be renamed or deleted.</p>
-<h2>Manual run, execute or evaluation</h2>
-<p>Three scripting files to prepare each of the actions may be set.
-These files have predefined names: <b>vpl_run.sh</b> (execution),
-<b>vpl_debug.sh</b>  (debug) and <b>vpl_evaluate.sh</b> (assessment).</p>
-<p>The execution of any of those scripting files should generate a
-file named <b>vpl_execution</b>.
-This file must be a binary executable or a script beginning with &quot;#!/bin/sh &quot;.
-The non-generation of this file impedes to run the selected action.</p>
-<p>If the activity that you are configuring is "based on" other activity,
-the files of the base activity are added automatically.
-The contents of the vpl_run.sh, vpl_debug.sh and vpl_evaluate.sh files
-are concatenated from the deepest level of "based on" to the current.</P>
-<p>Finally, the file <b>vpl_environment.sh</b> is automatically added.
-This scripting file contain information about the submission.
-The information come as environment variables: </p>
-<ul> <li> LANG:  used language. </li>
-<li> LC_ALL: same value as LANG. </li>
-<li> VPL_MAXTIME: maximum execution time in seconds. </li>
-<li> VPL_FILEBASEURL: URL to access the files of the course. </li>
-<li> VPL_SUBFILE#:  each name of the files submitted by the student. # Ranges from 0 to number of submitted files. </Li>
-<li> VPL_SUBFILES: list of all submitted files. </li>
-<li> VPL_VARIATION + id: where id is the variation order starting with 0 and the value is the value of the variation. </li>
-</ul>
-If the action requested is evaluation, then the following vars are added too.
-<ul>
-	<li>VPL_MAXTIME: max time of execution in seconds.</li>
-	<li>VPL_MAXMEMORY: max memmory usable</li>
-	<li>VPL_MAXFILESIZE: max file size in byte that can be create.</li>
-	<li>VPL_MAXPROCESSES: max number of procceses that can be run simultaneous.</li>
-	<Li>VPL_FILEBASEURL: URL to the course files.</Li>
-	<li>VPL_GRADEMIN: Min grade for this activity</li>
-	<li>VPL_GRADEMAX: Max grade for this activity</li>
-</ul>
-<h2>Assessment result</h2>
-<p>Evaluation output is processed to extract, if possible, comments and a proposed grade for the assessment.
-Comments can be set in two ways: with a line comment defined by a line beginning with \'Comment :=&gt;&gt;\' or
-with block comments starting with a line containing only \'&lt;|--\' and ending with a line containing only \'--|&gt;\'.
-The grade is taken from the last line that begins with \'Grade :=&gt;&gt;\'.
-</p>';
-$string['executionoptions_help'] = '<p>Various execution options are set in this page</p>
-<ul>
-<li><b>Based on</b>: sets other VPL instance from which some features are imported:
-<ul><li>Execution files (concatenating the predefined scripting files)</li>
-<li>Limits for the execution resources.</li>
-<li>Variations, that are concatenating to generate multivariations.</li>
-<li>Maximun length for each file to be uploaded with the submission</li>
-</ul>
-</li>
-<li><b>Run</b>, <b>Debug</b> and <b>Evalaute</b>: must be set to \'Yes\' if the corresponding action can be executed when editing the submission. This affects to the students only, users with  capability of grading can always execute these actions.</li>
-<li><b>Evaluate just on submission</b>: the submission is evaluated automatically when it is uploaded.</li>
-<li><b>Automatic grading</b>: if the evaluation result includes grading codes, they are used to set the grade automatically.</li>
-</ul>';
-$string['fulldescription_help'] = '<p>You must write here a full description for the activity.</p>
-<p>If you don\'t write anything here, the short description is shown instead.</p>
-<p>If you want to evaluate automatically, the interfaces for the assignments must be detailed and non-ambiguous.</p>';
-$string['keepfiles_help'] = '<p>Due to security issues, the files added as &quot;Execution files&quot; are deleted before running the file vpl_execution.</p>
-If any of those files is needed during the execution (by example, to be used as test data), it must be marked here.';
-$string['local_jail_servers_help'] = '<p>Here you can set the local execution servers added for this activity and those
-that are based on it.</p>
-<p>Enter the full URL of a server on each line. You can use blank lines
-and comments starting the line with "#".</p>
-<p>This activity will use as execution server list: the servers sets here
-plus the server list set in the "based on" activity
-plus the list of common execution servers.
-If you want to prevent this activity and derived ones
-from using other servers, then you have to add a line
-containing "end_of_jails" at the end of the server list.
-</p>';
-$string['modulename_help'] = '<p>VPL is a activity module for Moodle that manage programming assignments and whose salient features are:
-</p>
-
-<ul>
-<li>Enable to edit the programs source code in the browser using an applet</li>
-<li>Students can run interactively programs in the browser</li>
-<li>You can run tests to review the programs.</li>
-<li>Allows searching for similarity between files.</li>
-<li>Allows setting editing restrictions and avoiding external text pasting.</li>
-</ul>
-<p><b>Basic definition of a Virtual Programming Lab activity</b></p>
-<p>To access other options, a basic definition <b>must be saved first</b>.</p>
-<p>Constraints for the submission can be set in the <b>Submission restrictions</b> panel:</p>
-<ul>
-<li>Maximum number of files to be submitted. You can set the file names at the "requested files" tabs.</li>
-<li>Submission available only by means of the restricted Code
-	Editor. If you set this option, you can\'t upload files or paste text from outside the code editor.</li>
-<li>Maximum upload file size.</li>
-<li>Password to access and submit the activity.
-If you set a password the system will ask the password to access the activity.</li>
-<li>Nets from which the submission is permited.</li>
-</ul>
-<p>Also common options, such as the grading scale and groups,
-can be setting in this page.</p>';
-$string['modulename_link'] = 'mod/vpl/view';
-$string['requestedfiles_help'] = '<p>Here you set names and its initial content up for the requested files to the max number of files that was set in the basic description of the activity.</p>
-	<p>If you don\'t set names for whole number of files, the unnamed files are optional and can have any name.</p>
-<p>You also can add contents to the requested files, so these contents will be available the first time that they will be opened with the editor, if no previous submission exists.</p>';
-$string['resourcelimits_help'] = '<p>You can set limits for the execution time, the memory used, the execution files sizes and the number of processes to be executed simultaneously.</p>
-<p>These limits are used when running the scripting files vpl_run.sh, vpl_debug.sh and vpl_evaluate.sh and the file vpl_execution built by them.</p>
-<p>If this activity is based on other activity, the limits can be affected by those set in the base activity and its ancestors or in the global configuration of the module.</p>';
-$string['testcases_help'] = '<p>This feature allows to run the student program and check its output for a given input.  To set up the evaluation cases you must populate the file &quot;vpl_evaluate.cases&quot;.</p>
-<p>The file "vpl_evaluate.cases" has the following format:
-<ul>
-<li> "<strong>case </strong>= Description of case": Optional. Set an start of test case definition.</li>
-<li> "<strong>input </strong>= text": can use several lines. Ends with other instruction.</li>
-<li> "<strong>output </strong>= text": can use several lines. Ends with other instruction. A case can have differents correct output. There are three types of output: numbers, text and exact test:
-<ul>
-<li> <strong>number</strong>: defined as sequence of numbers (integers and floats). Only numbers in the output are checked, other text are ignored. Floats are checked with tolerance</li>
-<li> <strong>text</strong>: defined as text without double quote. Only words are checked and the rest of chars are ignored, the comparation is case-insensitive </li>
-<li> <strong>exact text</strong>: defined as text into double quote. The exact match is used to test the output.</li>
-</ul>
-</li>
-<li> "<strong>grade reduction</strong> = [value|percentage%]" : By default an error reduces student\'s grade (starts with maxgrade) by (grade_range/number of cases) but with this instruction
-you can change the reduction value or percentage.</li>
-</ul>';
-$string['variations_help'] = '<p>A set of variations can be defined for an activity. These variations are randomly assigned to the students.</p>
-<p>Here you can indicate if this activity has variations, put a title for the set of variations, and to add the desired variations.</p>
-<p>Each variation has an identification code and a description. The identification code is used by the <b>vpl_enviroment.sh</b> file to pass
-the variation assigned to each student to the script files. The description, formatted in HTML, is shown to the students that have assigned
-the corresponding variation.</p>';
-
+<?php
+$string['about']= 'À propos';
+$string['acceptcertificates']='Accepter les certificats auto-signés';
+$string['acceptcertificates_description']='Décocher cette option si les serveurs d\'exécution n\'utilisent pas de certificats auto-signés';
+$string['acceptcertificatesnote']= "<p>Vous utilisez une connexion chiffrée<p/>
+<p>Pour utiliser une connexion chiffrée avec les serveurs d'exécution vous devez acceptez ses certificats de sécurité</p>
+<p>Si vous ne souhaitez pas les accepter ou si vous rencontrez un problème avec ce processus, vous pouvez essayer d'utiliser une connexion http (non chiffrée) ou un autre navigateur.</p>
+<p>Veuillez cliquer sur les liens suivants (serveur #) et accepter le certificat proposé.</p>";
+$string['addfile'] = 'Ajouter un fichier';
+$string['advanced']='Avancé';
+$string['allfiles']='Tous les fichiers';
+$string['allsubmissions'] ='Toutes les soumissions';
+$string['anyfile'] = 'Fichier quelconque';
+$string['attemptnumber'] = 'Tentative numéro {$a}';
+$string['automaticevaluation'] = 'Évaluation automatique';
+$string['automaticgrading'] = 'Note automatique';
+$string['averageperiods'] = 'Périodes moyennes {$a}';
+$string['averagetime'] = 'Temps moyen {$a}';
+$string['basedon'] = 'Basé sur';
+$string['basic'] = 'Basique';
+$string['browserupdate'] = 'Veuillez mettre à jour votre navigateur vers la dernière version<br />ou en utiliser un autre qui supporte Websocket.';
+$string['calculate'] = 'Calculer';
+$string['changesNotSaved'] = 'Les modifications n\'ont pas été sauvegardées';
+$string['check_jail_servers'] = 'Vérifier les serveurs d\'exécution';
+$string['closed'] = 'Fermé';
+$string['comments'] = 'Commentaires';
+$string['compilation'] = 'Compilation';
+$string['connected']='connecté';
+$string['connecting']='connexion en cours';
+$string['connection_closed']='connexion fermée';
+$string['connection_fail']='échec de la connexion';
+$string['console']= 'Console';
+$string['copy']= 'Copier';
+$string['create_new_file']= 'Créer un nouveau fichier';
+$string['currentstatus']='État actuel';
+$string['cut']= 'Couper';
+$string['datesubmitted'] = 'Date de soumission';
+$string['debug'] = 'Déboguer';
+$string['debugging']='Débogage en cours';
+$string['defaultexefilesize'] = 'Taille maximale par défaut d\'un fichier d\'exécution';
+$string['defaultexememory'] = 'Utilisation mémoire maximale par défaut';
+$string['defaultexeprocesses'] = 'Nombre de processus maximal par défaut';
+$string['defaultexetime'] = 'Temps d\'exécution maximal par défaut';
+$string['defaultfilesize']= 'Taille maximale par défaut de chaque fichier soumis';
+$string['defaultresourcelimits'] = 'Limite par défaut des ressources d\'exécution';
+$string['delete']= 'Supprimer';
+$string['delete_file_fq'] = "Supprimer le fichier '{\$a}' ?";
+$string['delete_file_q']= 'Supprimer le fichier ?';
+$string['deleteallsubmissions'] = 'Supprimer toutes les soumissions';
+$string['description'] = 'Description';
+$string['diff'] = 'diff';
+$string['discard_submission_period'] = 'Discard submission period';
+$string['discard_submission_period_description'] = 'For each student and assignment, the system tries to discard submissions. The system keep the last one and at least a submission for every period';
+$string['download'] = 'Télécharger';
+$string['downloadallsubmissions'] = 'Télécharger toutes les soumissions';
+$string['duedate'] = 'Date limite de rendu';
+$string['edit'] = 'Éditer';
+$string['editing'] = 'En cours d\'édition';
+$string['evaluate'] = 'Évaluer';
+$string['evaluateonsubmission'] = 'Évaluer à la soumission seulement';
+$string['evaluating']='En cours d\'évaluation';
+$string['evaluation'] = 'Évaluation';
+$string['examples'] = 'Exemples';
+$string['execution'] = 'Exécution';
+$string['executionfiles'] = 'Fichiers d\'exécution';
+$string['executionoptions'] = 'Options d\'exécution';
+$string['file']= 'Fichier';
+$string['file_name']= 'Nom du fichier';
+$string['fileadded'] = "Le fichier '{\$a}' a été ajouté";
+$string['filedeleted'] = "Le fichier '{\$a}' a été supprimé";
+$string['filenotadded'] = 'Le fichier n\'a pas été ajouté';
+$string['fileNotChanged'] = 'Le fichier n\'a pas été modifié';
+$string['filenotdeleted'] = 'Le fichier \'{$a}\' n\'a PAS été supprimé';
+$string['filenotrenamed'] = 'Le fichier \'{$a}\' n\'a PAS été renommé';
+$string['filerenamed'] = "Le fichier '{\$a->from}' a été renommé en '{\$a->to}'";
+$string['filesChangedNotSaved'] = 'Les fichiers sont modifiés mais n\'ont pas été enregistrés"';
+$string['filesNotChanged'] = 'Les fichiers n\'ont pas été modifiés';
+$string['filestoscan']='Fichiers à parcourir';
+$string['fileupdated'] = "Le fichier '{\$a}' a été mis à jour";
+$string['find'] = "Rechercher";
+$string['find_replace']= 'Rechercher/Remplacer';
+$string['fulldescription'] = 'Description complète';
+$string['fullscreen'] = 'Plein écran';
+$string['getjails'] = 'Obtenir les serveurs d\'exécution';
+$string['gradeandnext'] = 'Noter & suivant';
+$string['graded'] = 'Noté';
+$string['gradedbyuser'] = 'Noté par l\'utilisateur';
+$string['gradedon'] = "Noté le";
+$string['gradedonby'] = 'Noté le {$a->date} par {$a->gradername}';
+$string['gradenotremoved'] = 'La note n\'a PAS été retirée. Vérifiez la configuration de l\'activité dans le carnet de notes.';
+$string['gradenotsaved'] = 'La note n\'a PAS été sauvegardée. Vérifiez la configuration de l\'activité dans le carnet de notes.';
+$string['gradeoptions'] = 'Options d\'évaluation';
+$string['grader'] = "Évaluateur";
+$string['gradercomments'] = 'Rapport d\'évaluation';
+$string['graderemoved'] = 'La note a été retirée';
+$string['groupwork']='Travail de groupe';
+$string['inconsistentgroup']='Vous n\'êtes pas membre d\'un unique groupe  (0 ou >1)';
+$string['incorrect_file_name']= 'Nom de fichier incorrect';
+$string['individualwork']='Travail individuel';
+$string['instanceselection'] = 'Sélection du VPL';
+$string['isexample'] = 'Cette activité sert d\'exemple';
+$string['jail_servers'] = 'Liste des serveurs d\'exécution';
+$string['jail_servers_config'] = 'Configuration des serveurs d\'exécution';
+$string['jail_servers_description'] = 'Écrire un ligne pour chaque serveur';
+$string['joinedfiles']='Les fichiers sélectionnés ont été joints';
+$string['keepfiles'] = 'Fichiers à conserver à l\'exécution';
+$string['lasterror']='Informations sur la dernière erreur';
+$string['lasterrordate']='Date de la dernière erreur';
+$string['listofcomments']='Liste des commentaires';
+$string['listsimilarity']='Liste des similarités trouvées';
+$string['listwatermarks'] = 'Liste des filigranes';
+$string['local_jail_servers'] = 'Serveurs d\'exécution locaux';
+$string['manualgrading'] = 'Notation manuelle';
+$string['maxexefilesize'] = 'Taille maximale d\'un fichier d\'exécution';
+$string['maxexememory'] = 'Mémoire maximale utilisée';
+$string['maxexeprocesses'] = 'Nombre de processus maximal';
+$string['maxexetime'] = 'Temps d\'exécution maximal';
+$string['maxfiles'] = 'Nombre de fichiers maximal';
+$string['maxfilesexceeded'] ='Nombre maximal de fichiers dépassé';
+$string['maxfilesize']= 'Taille maximale des fichiers soumis';
+$string['maxfilesizeexceeded']= 'Taille maximale du fichier dépassée';
+$string['maximumperiod'] = 'Période maximale {$a}';
+$string['maxresourcelimits'] = 'Limites maximales des ressources d\'exécution';
+$string['maxsimilarityoutput'] = 'Sortie maximale par similarité';
+$string['menucheck_jail_servers'] = 'Vérifier les serveurs d\'exécution';
+$string['menuexecutionfiles'] = 'Fichiers d\'exécution';
+$string['menuexecutionoptions'] = 'Options';
+$string['menukeepfiles'] = 'Fichier à conserver';
+$string['menulocal_jail_servers'] = 'Serveurs d\'exécution locaux';
+$string['menuresourcelimits'] = 'Limites de ressources';
+$string['minsimlevel']='Niveau minimal de similarité à montrer';
+$string['moduleconfigtitle'] = 'Config. du module VPL';
+$string['modulename'] = 'Laboratoire virtuel de programmation (VPL)';
+$string['modulenameplural'] = 'Laboratoires virtuels de programmation';
+$string['new']= 'Nouveau';
+$string['new_file_name']= 'Nom du nouveau fichier';
+$string['next']= 'Suivant';
+$string['nojailavailable'] = 'Pas de serveur d\'exécution disponible';
+$string['noright'] = 'Vous n\'avez pas le droit d\'accès';
+$string['nosubmission'] = 'Pas de soumission disponible';
+$string['notexecuted'] = 'Non exécuté';
+$string['notgraded'] = 'Non évalué';
+$string['notsaved']='Non enregistré';
+$string['novpls'] = 'Pas de VPL défini';
+$string['nowatermark'] = 'Propre filigrane {$a}';
+$string['nsubmissions'] = '{$a} soumissions';
+$string['numcluster'] = 'Cluster {$a}';
+$string['open'] = 'Ouvrir';
+$string['opnotallowfromclient'] = 'Action non autorisée depuis cette machine';
+$string['options']= 'Options';
+$string['optionsnotsaved'] = 'Les options n\'ont pas été enregistrées';
+$string['optionssaved'] = 'Options enregistrées';
+$string['origin'] = 'Origine';
+$string['othersources']='Autres sources à utiliser';
+$string['outofmemory']='A court de mémoire';
+$string['paste']= 'Coller';
+$string['pluginadministration'] ='Administration du VPL';
+$string['pluginname'] = 'Laboratoire de programmation virtuel';
+$string['previoussubmissionslist'] = 'Soumissions précédentes';
+$string['proposedgrade'] = 'Note proposée: {$a}';
+$string['proxy'] = 'proxy';
+$string['proxy_description'] = 'Proxy de Moodle vers les serveurs d\'exécution';
+$string['redo']= 'Refaire';
+$string['regularscreen'] = 'Écran normal';
+$string['removegrade'] = 'Retirer la note';
+$string['rename']= 'Renommer';
+$string['rename_file']= 'Renommer le fichier';
+$string['replace_find']= 'Remplacer/Rechercher';
+$string['requestedfiles'] = 'Fichiers requis';
+$string['requirednet']= 'Allowed submission from net';
+$string['requiredpassword'] = 'Un mot de passe est nécessaire';
+$string['resetfiles'] = 'Réinitialiser les fichiers';
+$string['resetvpl'] = 'Réinitialiser {$a}';
+$string['resourcelimits'] = 'Limites de ressources';
+$string['restrictededitor'] = 'Désactiver le téléversement externe de fichiers, le copier/coller de contenu externe';
+$string['retrieve'] = 'Récupérer les résultat';
+$string['run'] = 'Exécuter';
+$string['running']='En cours d\'exécution';
+$string['save'] = 'Enregistrer';
+$string['save']='Enregistrer';
+$string['savecontinue'] = 'Enregistrer et continuer';
+$string['saved'] = 'Enregistré';
+$string['savedfile'] = "Le fichier '{\$a}' a été enregistré";
+$string['saveoptions'] = 'Enregistrer les paramètres';
+$string['saving']='En cours d\'enregistrement';
+$string['scanactivity']='Activité';
+$string['scandirectory']='Dossier';
+$string['scanningdir'] = 'Scan du dossier ...';
+$string['scanoptions']='Options du scan';
+$string['scanother'] ='Scan similarities in added sources';
+$string['scanzipfile']='fichier zip';
+$string['select_all']= 'Tout sélectionner';
+$string['server']='Serveur';
+$string['serverexecutionerror'] = 'Erreur du serveur d\'exécution';
+$string['shortdescription'] = 'Description courte';
+$string['similarity'] = 'Similarité';
+$string['similarto']='Similaire à';
+$string['startdate'] = 'Disponible à partir du';
+$string['submission'] = 'Soumission';
+$string['submissionperiod'] = 'Période de soumission';
+$string['submissionrestrictions'] = 'Restrictions sur la soumission';
+$string['submissions'] = 'Soumissions';
+$string['submissionselection'] = 'Sélection de la soumission';
+$string['submissionslist'] = 'Liste des soumissions';
+$string['submissionview'] = 'Voir la soumission';
+$string['submittedby'] = 'Soumis par {$a}';
+$string['submittedon'] = 'Soumis le';
+$string['submittedonp'] = 'Soumis le {$a}';
+$string['sureresetfiles'] = 'Souhaitez-vous perdre votre travail et rétablir les fichiers dans leur état d\'origine ?';
+$string['test'] = 'Tester l\'activité';
+$string['testcases'] = 'Cas de tests';
+$string['timelimited'] ='Temps limité';
+$string['timeout'] ='Limite de temps dépassée';
+$string['timeunlimited'] = 'Sans limite de temps';
+$string['totalnumberoferrors']="Erreurs";
+$string['undo']= 'Annuler';
+$string['unexpected_file_name']= "Nom de fichier incorrect: '{\$a->expected}' attendu, trouvé '{\$a->found}'";
+$string['unzipping'] = 'Décompression ...';
+$string['uploadfile'] = 'Charger un fichier';
+$string['usevariations'] = 'Utiliser les variantes';
+$string['variation'] = 'Varianten {$a}';
+$string['variation_options'] = 'Options des variantes';
+$string['variations'] = 'Variantes';
+$string['variations_unused'] = 'Cette activité a des variantes, mais elles sont désactivées';
+$string['variationtitle'] = 'Titre de la variante';
+$string['varidentification'] = 'Identification';
+$string['visiblegrade']='Visible';
+$string['vpl:addinstance'] = 'Ajouter de nouvelles activités vpl';
+$string['vpl:grade'] = 'Noter une soumission VPL';
+$string['vpl:manage'] = 'Gérer un VPL';
+$string['vpl:setjails'] = 'Définir les serveurs d\'exécution pour des instances particulières de VPL';
+$string['vpl:similarity'] = 'Chercher des similarités dans les soumissions VPL';
+$string['vpl:submit'] = 'Faire des soumissions VPL';
+$string['vpl:view'] = 'Voir la description complète d\'un VPL';
+$string['vpl'] = 'Laboratoire de Programmation Virtuel';
+$string['VPL_COMPILATIONFAILED'] = 'La compilation ou préparation de l\'exécution à échoué';
+$string['vpl_debug.sh'] = 'Ce script prépare le deboguage';
+$string['vpl_evaluate.cases'] = 'Cas de test pour l\'évaluation';
+$string['vpl_evaluate.sh'] = 'Ce script prépare l\'évaluation';
+$string['vpl_run.sh'] = 'Ce script prépare l\'exécution';
+$string['workingperiods'] = 'Périodes de travail';
+$string['worktype']='Type de travail';
+$string['websocket_protocol'] = 'Protocole WebSocket';
+$string['websocket_protocol_description'] = 'Type de protocole WebSocket (ws:// or wss://) utilisé par le navigateur pour se connecter aux serveurs d\'exécution';
+$string['always_use_wss'] = 'Toujours utiliser le protocole websocket chiffré (wss)';
+$string['always_use_ws'] = 'Toujours utiliser le protocole websocket non-chiffré (ws)';
+$string['depends_on_https'] = 'Décider d\'utiliser ws ou wss sleon l\'utilisation de  http ou https';
+
+$string['check_jail_servers_help'] = "<p>This page check and show the status of execution servers used
+for this activity.</p>";
+$string['executionfiles_help'] = '<h2>Introduction</h2>
+<p>Here you set the files that are needed to prepare the execution,
+debug or assessment of a submission. This includes scripting files,
+program test files and data files.</p>
+<h2>Default script to run or debug</h2>
+<p>If you don\'t set script files for run or  debug submissions, the system
+will resolve the language you use (based on file name extensions) and use a
+predefined script.
+<h2>Automatic evaluation</h2>
+<p>The incorporates features to facilitate the evaluation of student\'s submissions.
+This feature allows to run the student program and check its output for a given input.
+To set up the evaluation cases you must populate the file &quot;vpl_evaluate.cases&quot;.
+<p>The file "vpl_evaluate.cases" has the following format:
+<ul>
+<li> "<strong>case </strong>= Description of case": Optional. Set an start of test case definition.</li>
+<li> "<strong>input </strong>= text": can use several lines. Ends with other instruction.</li>
+<li> "<strong>output </strong>= text": can use several lines. Ends with other instruction. A case can have differents correct output. There are three types of output: numbers, text and exact test:
+<ul>
+<li> <strong>number</strong>: defined as sequence of numbers (integers and floats). Only numbers in the output are checked, other text are ignored. Floats are checked with tolerance</li>
+<li> <strong>text</strong>: defined as text without double quote. Only words are checked and the rest of chars are ignored, the comparation is case-insensitive </li>
+<li> <strong>exact text</strong>: defined as text into double quote. The exact match is used to test the output.</li>
+</ul>
+</li>
+<li> "<strong>grade reduction</strong> = [value|percentage%]" : By default an error reduces student\'s grade
+(starts with maxgrade) by (grade_range/number of cases) but with this instruction you can change
+the reduction value or percentage.</li>
+</ul>
+</p>
+<h2>General use</h2>
+<p>A new file can be added by writing its name in the box  &quot;<b>Add file</b>&quot;
+and then clicking on the button &quot;<b>Add file</b>&quot;.</p>
+<p>An existing file can be uploaded by means of the  &quot;<b>Upload file</b>&quot;.<p>All the added  or uploaded files can
+be edited, and all of them, except the three scripting files mentioned
+below, can be renamed or deleted.</p>
+<h2>Manual run, execute or evaluation</h2>
+<p>Three scripting files to prepare each of the actions may be set.
+These files have predefined names: <b>vpl_run.sh</b> (execution),
+<b>vpl_debug.sh</b>  (debug) and <b>vpl_evaluate.sh</b> (assessment).</p>
+<p>The execution of any of those scripting files should generate a
+file named <b>vpl_execution</b>.
+This file must be a binary executable or a script beginning with &quot;#!/bin/sh &quot;.
+The non-generation of this file impedes to run the selected action.</p>
+<p>If the activity that you are configuring is "based on" other activity,
+the files of the base activity are added automatically.
+The contents of the vpl_run.sh, vpl_debug.sh and vpl_evaluate.sh files
+are concatenated from the deepest level of "based on" to the current.</P>
+<p>Finally, the file <b>vpl_environment.sh</b> is automatically added.
+This scripting file contain information about the submission.
+The information come as environment variables: </p>
+<ul> <li> LANG:  used language. </li>
+<li> LC_ALL: same value as LANG. </li>
+<li> VPL_MAXTIME: maximum execution time in seconds. </li>
+<li> VPL_FILEBASEURL: URL to access the files of the course. </li>
+<li> VPL_SUBFILE#:  each name of the files submitted by the student. # Ranges from 0 to number of submitted files. </Li>
+<li> VPL_SUBFILES: list of all submitted files. </li>
+<li> VPL_VARIATION + id: where id is the variation order starting with 0 and the value is the value of the variation. </li>
+</ul>
+If the action requested is evaluation, then the following vars are added too.
+<ul>
+	<li>VPL_MAXTIME: max time of execution in seconds.</li>
+	<li>VPL_MAXMEMORY: max memmory usable</li>
+	<li>VPL_MAXFILESIZE: max file size in byte that can be create.</li>
+	<li>VPL_MAXPROCESSES: max number of procceses that can be run simultaneous.</li>
+	<Li>VPL_FILEBASEURL: URL to the course files.</Li>
+	<li>VPL_GRADEMIN: Min grade for this activity</li>
+	<li>VPL_GRADEMAX: Max grade for this activity</li>
+</ul>
+<h2>Assessment result</h2>
+<p>Evaluation output is processed to extract, if possible, comments and a proposed grade for the assessment.
+Comments can be set in two ways: with a line comment defined by a line beginning with \'Comment :=&gt;&gt;\' or
+with block comments starting with a line containing only \'&lt;|--\' and ending with a line containing only \'--|&gt;\'.
+The grade is taken from the last line that begins with \'Grade :=&gt;&gt;\'.
+</p>';
+$string['executionoptions_help'] = '<p>Various execution options are set in this page</p>
+<ul>
+<li><b>Based on</b>: sets other VPL instance from which some features are imported:
+<ul><li>Execution files (concatenating the predefined scripting files)</li>
+<li>Limits for the execution resources.</li>
+<li>Variations, that are concatenating to generate multivariations.</li>
+<li>Maximun length for each file to be uploaded with the submission</li>
+</ul>
+</li>
+<li><b>Run</b>, <b>Debug</b> and <b>Evalaute</b>: must be set to \'Yes\' if the corresponding action can be executed when editing the submission. This affects to the students only, users with  capability of grading can always execute these actions.</li>
+<li><b>Evaluate just on submission</b>: the submission is evaluated automatically when it is uploaded.</li>
+<li><b>Automatic grading</b>: if the evaluation result includes grading codes, they are used to set the grade automatically.</li>
+</ul>';
+$string['fulldescription_help'] = '<p>You must write here a full description for the activity.</p>
+<p>If you don\'t write anything here, the short description is shown instead.</p>
+<p>If you want to evaluate automatically, the interfaces for the assignments must be detailed and non-ambiguous.</p>';
+$string['keepfiles_help'] = '<p>Due to security issues, the files added as &quot;Execution files&quot; are deleted before running the file vpl_execution.</p>
+If any of those files is needed during the execution (by example, to be used as test data), it must be marked here.';
+$string['local_jail_servers_help'] = '<p>Here you can set the local execution servers added for this activity and those
+that are based on it.</p>
+<p>Enter the full URL of a server on each line. You can use blank lines
+and comments starting the line with "#".</p>
+<p>This activity will use as execution server list: the servers sets here
+plus the server list set in the "based on" activity
+plus the list of common execution servers.
+If you want to prevent this activity and derived ones
+from using other servers, then you have to add a line
+containing "end_of_jails" at the end of the server list.
+</p>';
+$string['modulename_help'] = '<p>VPL is a activity module for Moodle that manage programming assignments and whose salient features are:
+</p>
+
+<ul>
+<li>Enable to edit the programs source code in the browser using an applet</li>
+<li>Students can run interactively programs in the browser</li>
+<li>You can run tests to review the programs.</li>
+<li>Allows searching for similarity between files.</li>
+<li>Allows setting editing restrictions and avoiding external text pasting.</li>
+</ul>
+<p><b>Basic definition of a Virtual Programming Lab activity</b></p>
+<p>To access other options, a basic definition <b>must be saved first</b>.</p>
+<p>Constraints for the submission can be set in the <b>Submission restrictions</b> panel:</p>
+<ul>
+<li>Maximum number of files to be submitted. You can set the file names at the "requested files" tabs.</li>
+<li>Submission available only by means of the restricted Code
+	Editor. If you set this option, you can\'t upload files or paste text from outside the code editor.</li>
+<li>Maximum upload file size.</li>
+<li>Password to access and submit the activity.
+If you set a password the system will ask the password to access the activity.</li>
+<li>Nets from which the submission is permited.</li>
+</ul>
+<p>Also common options, such as the grading scale and groups,
+can be setting in this page.</p>';
+$string['modulename_link'] = 'mod/vpl/view';
+$string['requestedfiles_help'] = '<p>Here you set names and its initial content up for the requested files to the max number of files that was set in the basic description of the activity.</p>
+<p>If you don\'t set names for whole number of files, the unnamed files are optional and can have any name.</p>
+<p>You also can add contents to the requested files, so these contents will be available the first time that they will be opened with the editor, if no previous submission exists.</p>';
+$string['resourcelimits_help'] = '<p>You can set limits for the execution time, the memory used, the execution files sizes and the number of processes to be executed simultaneously.</p>
+<p>These limits are used when running the scripting files vpl_run.sh, vpl_debug.sh and vpl_evaluate.sh and the file vpl_execution built by them.</p>
+<p>If this activity is based on other activity, the limits can be affected by those set in the base activity and its ancestors or in the global configuration of the module.</p>';
+$string['testcases_help'] = '<p>This feature allows to run the student program and check its output for a given input.  To set up the evaluation cases you must populate the file &quot;vpl_evaluate.cases&quot;.</p>
+<p>The file "vpl_evaluate.cases" has the following format:
+<ul>
+<li> "<strong>case </strong>= Description of case": Optional. Set an start of test case definition.</li>
+<li> "<strong>input </strong>= text": can use several lines. Ends with other instruction.</li>
+<li> "<strong>output </strong>= text": can use several lines. Ends with other instruction. A case can have differents correct output. There are three types of output: numbers, text and exact test:
+<ul>
+<li> <strong>number</strong>: defined as sequence of numbers (integers and floats). Only numbers in the output are checked, other text are ignored. Floats are checked with tolerance</li>
+<li> <strong>text</strong>: defined as text without double quote. Only words are checked and the rest of chars are ignored, the comparation is case-insensitive </li>
+<li> <strong>exact text</strong>: defined as text into double quote. The exact match is used to test the output.</li>
+</ul>
+</li>
+<li> "<strong>grade reduction</strong> = [value|percentage%]" : By default an error reduces student\'s grade (starts with maxgrade) by (grade_range/number of cases) but with this instruction
+you can change the reduction value or percentage.</li>
+</ul>';
+$string['variations_help'] = '<p>A set of variations can be defined for an activity. These variations are randomly assigned to the students.</p>
+<p>Here you can indicate if this activity has variations, put a title for the set of variations, and to add the desired variations.</p>
+<p>Each variation has an identification code and a description. The identification code is used by the <b>vpl_enviroment.sh</b> file to pass
+the variation assigned to each student to the script files. The description, formatted in HTML, is shown to the students that have assigned
+the corresponding variation.</p>';