MAJ
This commit is contained in:
parent
4f93f244ad
commit
843210cb67
1
bin/.gitignore
vendored
Normal file
1
bin/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/MEPTL/
|
Binary file not shown.
Binary file not shown.
@ -9,7 +9,7 @@ import cXML.node;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author pablo rodriguez
|
||||
* @author pablo rodriguez - 2000
|
||||
*
|
||||
*/
|
||||
public class HTML {
|
||||
|
@ -19,6 +19,7 @@ import cXML.Run.UserStatus;
|
||||
*/
|
||||
public class commandes {
|
||||
|
||||
//** Les commandes par défaut
|
||||
static String nameSujet = ""; //sujet par défaut
|
||||
public static boolean analyse = false; //analyse des fichiers étudiants
|
||||
public static boolean ecritCode = false; // ecriture du code du sujet
|
||||
@ -29,22 +30,23 @@ public class commandes {
|
||||
public static boolean verifHisto2 = false; // vérification des historiques lorsqu'il y a aussi analyse
|
||||
public static boolean fourniCSV = false; // fourni le fichier CSV contenant la liste des étudiants
|
||||
public static boolean badCommand = false ; //erreur dans les commandes
|
||||
public static boolean noNote =false;
|
||||
public static boolean noLogo =false;
|
||||
public static boolean newLogo=false;
|
||||
public static boolean licence = false;
|
||||
public static boolean noNote =false; // pas de note dans les feedbacks
|
||||
public static boolean noLogo =false; // pas de logo dans les feedbacks
|
||||
public static boolean newLogo=false; // un nouveau logo dans le feedback
|
||||
public static boolean licence = false; // affiche la licence
|
||||
public static boolean zipfeedback = false; // Les feedback dans une archive ZIP
|
||||
static cXML.Run.UserStatus Profil = cXML.Run.UserStatus.TEACHER ; //Le profil TEACHER permet de lire dans les dossiers contenus dans le répertoire courant de l'application. Le profil STUDENT permet de lire au niveau du répertoire courant de l'application.
|
||||
public static boolean fourniDossierDestination = false; //répertoire de destination des feedbacks et CSV;
|
||||
public static String nameCSV = ""; //le nom du fichier contenant la liste des étudiants
|
||||
public static String nameSVG =""; //le nom du nouveau logo
|
||||
public static String contenuFichierSVG ="";
|
||||
public static String contenuFichierSVG =""; // Le nouveau logo
|
||||
public static String path ="";
|
||||
public static String pathDestination ="";
|
||||
public static String version ="3.5.1";
|
||||
public static String version ="3.5.1"; // La version
|
||||
public static String Command ="";
|
||||
public static String culture = "FR";
|
||||
//setting valeur par défaut
|
||||
|
||||
//** setting valeur par défaut
|
||||
public static int tolerance_characters = 5;
|
||||
public static double tolerance_text = 0.79;
|
||||
public static int number_match = 2;
|
||||
@ -54,6 +56,7 @@ public class commandes {
|
||||
public static int tolerance_vert = 30;
|
||||
public static int tolerance_bleu = 30;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param args : table des arguments
|
||||
|
@ -22,7 +22,6 @@ import java.util.Date;
|
||||
import java.util.Dictionary;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@ -38,7 +37,7 @@ import net.lingala.zip4j.exception.ZipException;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author pablo rodriguez
|
||||
* @author pablo rodriguez
|
||||
*
|
||||
*
|
||||
*/
|
||||
@ -51,7 +50,7 @@ public class meptl {
|
||||
/**
|
||||
* Démarrage de l'application.<br>
|
||||
* <br>
|
||||
* @param args
|
||||
* @param args : les commandes de l'application.
|
||||
* @throws ParserConfigurationException
|
||||
* @throws SAXException
|
||||
* @throws IOException
|
||||
@ -60,20 +59,19 @@ public class meptl {
|
||||
*/
|
||||
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, CloneNotSupportedException, InterruptedException {
|
||||
System.getProperty("file.encoding","UTF-8");
|
||||
node nodeCSV = null; //Permet de convertir le fichier contenant la liste des étudiants en node
|
||||
|
||||
patch = System.getProperty("user.dir");
|
||||
// patch = "C:/Users/pabr6/OneDrive/Desktop/Nouveau dossier";
|
||||
|
||||
//les commandes
|
||||
//** les commandes
|
||||
new commandes(args,patch);
|
||||
|
||||
//Lancement des lectures des dossiers
|
||||
//** Lancement des lectures des dossiers
|
||||
Run a = new Run(patch,commandes.Profil);
|
||||
|
||||
|
||||
//chargement du node sujet (fichier d'analyse)
|
||||
//La méthode verificationFichier Analyse permet de détecter des erreurs dans le fichier d'analyse
|
||||
//** chargement du node sujet (fichier d'analyse)
|
||||
//** La méthode verificationFichier Analyse permet de détecter des erreurs dans le fichier d'analyse
|
||||
node nodeSujet = new node();
|
||||
if(!commandes.ecritCode && commandes.analyse) {
|
||||
nodeSujet = chargementsujet(a, commandes.nameSujet);
|
||||
@ -89,12 +87,12 @@ public class meptl {
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
//Chargement du contenu du nouveau logo
|
||||
//** Chargement du contenu du nouveau logo
|
||||
if(commandes.newLogo && !commandes.nameSVG.isEmpty()) {
|
||||
commandes.contenuFichierSVG= chargementFichierSVG(a,commandes.nameSVG);
|
||||
}
|
||||
|
||||
//chargement du node translation qui se trouve dans le node setting
|
||||
//** chargement du node translation qui se trouve dans le node setting
|
||||
outils.chargeTraduction(nodeSujet.retourneFirstEnfantsByName("translation"));
|
||||
|
||||
try {
|
||||
@ -124,10 +122,15 @@ public class meptl {
|
||||
|
||||
}
|
||||
|
||||
//chargement et verification du CVS fourni
|
||||
if(commandes.fourniCSV) nodeCSV = chargementFichierCSV(a, commandes.nameCSV);
|
||||
//** Nouveau node qui permet de convertir le fichier contenant la liste des étudiants en node.
|
||||
node nodeCSV = null;
|
||||
|
||||
// vérification des historiques
|
||||
//** Chargement et verification du CVS fourni
|
||||
if(commandes.fourniCSV) {
|
||||
nodeCSV = chargementFichierCSV(a, commandes.nameCSV);
|
||||
}
|
||||
|
||||
//** Vérification des historiques
|
||||
node verif = new node();
|
||||
if(commandes.verifHisto || commandes.verifHisto2) {
|
||||
int nbFichierWriter = a.getLectDossiers().getEC().getListeContentWriter().size();
|
||||
@ -146,42 +149,42 @@ public class meptl {
|
||||
}
|
||||
|
||||
|
||||
//nombre de fichier writer à analyser
|
||||
//** Nombre de fichier writer à analyser
|
||||
int nbFichierWriter = a.getLectDossiers().getEC().getListeContentWriter().size();
|
||||
System.getProperty("file.encoding","UTF-8");
|
||||
|
||||
//ensemble des analyses
|
||||
//** Ensemble des analyses
|
||||
node ensembleanalyse = new node();
|
||||
ensembleanalyse.setNomElt("analyses");
|
||||
|
||||
|
||||
for(int i = 0 ; i < nbFichierWriter ; i++) {
|
||||
|
||||
// Ne prends pas en compte le dossier destination créé par la commande -dest
|
||||
// Si pas d'analyse alors le nom doit contenir le caractère $ dans le nom du dossier.
|
||||
//** Ne prends pas en compte le dossier destination créé par la commande -dest
|
||||
//** Si pas d'analyse alors le nom doit contenir le caractère $ dans le nom du dossier.
|
||||
if(commandes.fourniDossierDestination)if(a.getLectDossiers().getEC().getListeNomDossier().get(i).equals(commandes.pathDestination)) continue;
|
||||
|
||||
//Chargement du format (content) et transformation en node pour l'application
|
||||
//** Chargement du format (content) et transformation en node pour l'application
|
||||
node nod = a.XMLContent(a.getLectDossiers().getEC().getListeContentWriter().get(i));
|
||||
node nodStudent = LectureFichierEtudiantSousFormeDeNode(nod,a,i);
|
||||
//a.ecritureNodeEnXML(nodStudent, a.getLectDossiers().getEC().getListeNomDossier().get(i),"",false); //écriture du node de l'étudiant
|
||||
|
||||
// ecriture d'une fichier d'analyse.
|
||||
// commande -write
|
||||
//** Ecriture d'une fichier d'analyse.
|
||||
//** commande -write
|
||||
if(commandes.ecritCode && ! commandes.verifHisto && !commandes.analyse) {
|
||||
node nodSujet = nodePourEcritureSujet(nodStudent,a,i);
|
||||
nodSujet = addSetting(nodSujet); // ajoute le node setting et translation
|
||||
a.ecritureNodeEnXML(nodSujet, a.getLectDossiers().getEC().getListeNomDossier().get(i),"",false,"Sujet");
|
||||
}
|
||||
|
||||
// analyse des fichiers student
|
||||
//** Analyse des fichiers student
|
||||
if(commandes.analyse) {
|
||||
node init = InitialisationAvantAnalyse(nodeSujet);
|
||||
if(!Boolean.valueOf(init.getAttributs().get("erreur"))) {
|
||||
node ana = analyse(nodStudent, nodeSujet, i, a);
|
||||
// a.ecritureNodeEnXML(ana, "nodana"+ana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier"),"",false); //écriture du node analyse de l'étudiant
|
||||
|
||||
// création des feedbacks avec des tailles définies
|
||||
//** Création des feedbacks avec des tailles définies
|
||||
if(!commandes.sansFeeback) if(!commandes.zipfeedback) feedback(ana, verif); //classique directement dans le répertoire
|
||||
if(!commandes.sansFeeback) if(commandes.zipfeedback) { // Dans une archive pour Moodle
|
||||
try {
|
||||
@ -207,7 +210,7 @@ public class meptl {
|
||||
|
||||
}
|
||||
}
|
||||
//exportation au format CSV
|
||||
//** Exportation au format CSV
|
||||
if(commandes.ecritNoteCSV && !commandes.fourniCSV) {
|
||||
if(!commandes.verifHisto2) ecritureCSV(ensembleanalyse);
|
||||
if(commandes.verifHisto2) ecritureCSV(ensembleanalyse,verif,a,nodeSujet.retourneFirstEnfantsByName("setting"));
|
||||
@ -218,9 +221,8 @@ public class meptl {
|
||||
//a.ecritureNodeEnXML(ensembleanalyse, "ensembleAnalyse"); //écriture du node de l'étudiant
|
||||
}
|
||||
|
||||
//bye bye
|
||||
//** bye bye analyseWriter
|
||||
commandes.clotureApplication();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -2889,33 +2891,33 @@ public class meptl {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Analyse toutes les contenus des enfants et les compares.<br>
|
||||
* Utiliser pour les nodes <text:p><br>
|
||||
* <br>
|
||||
* @param Student
|
||||
* @param Sujet
|
||||
* @param retour
|
||||
* @param nameItem
|
||||
* @param nameElt
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node analyseLesContenusDesArrayList(ArrayList<node> Student, ArrayList<node> Sujet, node retour, String nameItem, String nameElt, Run a) {
|
||||
|
||||
for(int i = 0 ; i < Sujet.size();i++) {
|
||||
String sujetContent = Sujet.get(i).retourneLesContenusEnfants("");
|
||||
node StudentNode = a.retourneFirstNodeByFindContent2(Student, outils.withoutCodeAndPoint(sujetContent),commandes.tolerance_characters,commandes.tolerance_text);
|
||||
String studentContent = "null";
|
||||
if(StudentNode!=null) studentContent = outils.NetChiffreALaFin(StudentNode.retourneLesContenusEnfants(""));
|
||||
|
||||
node item = retourneNoteAvecResultatsAnalyse(nameItem, "Contenu textuel", studentContent, sujetContent,nameElt);
|
||||
retour.getNodes().add(item);
|
||||
|
||||
}
|
||||
|
||||
return retour;
|
||||
}
|
||||
// /**
|
||||
// * Analyse toutes les contenus des enfants et les compares.<br>
|
||||
// * Utiliser pour les nodes <text:p><br>
|
||||
// * <br>
|
||||
// * @param Student
|
||||
// * @param Sujet
|
||||
// * @param retour
|
||||
// * @param nameItem
|
||||
// * @param nameElt
|
||||
// * @param a
|
||||
// * @return
|
||||
// */
|
||||
// private static node analyseLesContenusDesArrayList(ArrayList<node> Student, ArrayList<node> Sujet, node retour, String nameItem, String nameElt, Run a) {
|
||||
//
|
||||
// for(int i = 0 ; i < Sujet.size();i++) {
|
||||
// String sujetContent = Sujet.get(i).retourneLesContenusEnfants("");
|
||||
// node StudentNode = a.retourneFirstNodeByFindContent2(Student, outils.withoutCodeAndPoint(sujetContent),commandes.tolerance_characters,commandes.tolerance_text);
|
||||
// String studentContent = "null";
|
||||
// if(StudentNode!=null) studentContent = outils.NetChiffreALaFin(StudentNode.retourneLesContenusEnfants(""));
|
||||
//
|
||||
// node item = retourneNoteAvecResultatsAnalyse(nameItem, "Contenu textuel", studentContent, sujetContent,nameElt);
|
||||
// retour.getNodes().add(item);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// return retour;
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user