From 90fb89e751a824aad5efa073d654579244e0c3fe Mon Sep 17 00:00:00 2001 From: pablo rodriguez <58742538+1-pablo-rodriguez@users.noreply.github.com> Date: Wed, 4 May 2022 09:16:50 +0200 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20class=20feedback=20Am=C3=A9lior?= =?UTF-8?q?ation=20du=20hash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Readme.md | 7 +- analyseWriter.jar | Bin 1103651 -> 1104200 bytes bin/MEPTL/meptl.class | Bin 114208 -> 81378 bytes bin/MEPTL/verificationFichierAnalyse.class | Bin 19979 -> 19887 bytes src/MEPTL/feedbacks.java | 556 +++++++++ src/MEPTL/meptl.java | 1216 +------------------- src/MEPTL/verificationFichierAnalyse.java | 8 +- 7 files changed, 626 insertions(+), 1161 deletions(-) create mode 100644 src/MEPTL/feedbacks.java diff --git a/Readme.md b/Readme.md index edaffb5..456653d 100644 --- a/Readme.md +++ b/Readme.md @@ -1,8 +1,6 @@ # analyseWriter L'application analyse et note les fichiers de traitement de texte au format ODF des étudiants. Le format natif des suites de bureautique, LibreOffice, OpenOffice, Trio Office). -Tutoriels : https://www.youtube.com/channel/UCBSfItcCVnbRJdQbVE9ppjQ - Cette application permet d’évaluer un très grand nombre de fichiers réalisés par des étudiants en suivant les consignes du fichier d’analyse. Elle permet de facilité l'importation des notes et des feedbacks des étudiants sur Moodle. C’est une application console (sans interface) écrite en java. @@ -16,3 +14,8 @@ C’est une application console (sans interface) écrite en java. • De générer des archives au format ZIP contenant tous les feedbacks (comptes-rendus) des étudiants. Ces archives peuvent être utilisées sur Moodle. Elles permettent d’importer tous les feedbacks (comptes-rendus) des étudiants. • d’importer les notes des étudiants et diverses informations dans un fichier au format CSV. Les notes peuvent être alors importer dans le carnet de note du CMS Moodle. • de générer des fichiers d’analyses pour créer ses propres évaluations. + +### Tutoriels : +https://artoistv.univ-artois.fr/video/4334-presentation-analysewriter/ + +https://www.youtube.com/channel/UCBSfItcCVnbRJdQbVE9ppjQ \ No newline at end of file diff --git a/analyseWriter.jar b/analyseWriter.jar index 6402e0728d08bffffc2d42f9aac016156feb72d7..d104a03139601594cb751d38d044929756352a55 100644 GIT binary patch delta 86338 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

-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�#FIQ}M~G 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 diff --git a/bin/MEPTL/meptl.class b/bin/MEPTL/meptl.class index a1dab939df2402c9e4cb3f01728b804d22212dd5..f9d088b9c16f600eda83402c4bc60fb045abded2 100644 GIT binary patch literal 81378 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 literal 114208 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 OB168O)UbNPyzvXr>}{g} diff --git a/src/MEPTL/feedbacks.java b/src/MEPTL/feedbacks.java new file mode 100644 index 0000000..551e4e7 --- /dev/null +++ b/src/MEPTL/feedbacks.java @@ -0,0 +1,556 @@ +package MEPTL; + +import java.io.BufferedWriter; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.text.DateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.FormatStyle; +import java.util.ArrayList; +import java.util.Date; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import cXML.node; + +public class feedbacks { + + public feedbacks() { + + } + /** + * Ecriture du fichier feedback.
+ * Si zip = true alors pour archive.
+ * Si zip = false alors pour fichier html.
+ *
+ * @param nodana : node de l'analyse de l'étudiant. + * @param verif : node de vérification (ensemble des vérifications des historiques) + * @parame zip : Pour créer un fichier html ou une archive zip. + * @return + * @throws IOException + */ + public static StringBuilder feedback(node nodana, node verif, Boolean zip) throws IOException { + + System.getProperty("file.encoding","UTF-8"); + Date aujourdhui = new Date(); + + int number_match = 2; + int mini_modification = 0; + boolean plagiat = false; + boolean copiercoller = false; + boolean pasAssezDeModification =false; + boolean baremeABC = false; + boolean producteur =false; + String SuiteBureautique=""; + String VersionLibreOffice=""; + String SystemeStudent=""; + node verifStudent = null; + if((commandes.verifHisto||commandes.verifHisto2)) { //&&commandes.ecritNoteCSV&&commandes.fourniCSV + if(verif.getAttributs().get("number_match") != null) number_match = Integer.valueOf(verif.getAttributs().get("number_match")); + if(verif.getAttributs().get("mini_number_modification") != null) mini_modification = Integer.valueOf(verif.getAttributs().get("mini_number_modification")); + + //verification du plagiat + verifStudent = verif.retourneFirstNodeByNameAndAttributValue("fichier", "dossier", nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier")); + if(verifStudent != null) { + if(verifStudent.getAttributs().get("filename").equals(nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("filename"))) { + if(Integer.valueOf(verifStudent.getAttributs().get("nombre_correspondances_consecutives"))>number_match) plagiat=true; + if(!verifStudent.getAttributs().get("first_modification_identique").equals("null") && Integer.valueOf(verifStudent.getAttributs().get("nombre_correspondances_consecutives"))>=number_match) plagiat=true; + if(verifStudent.getAttributs().get("copier_coller")!=null) copiercoller=true; + if(Integer.valueOf(verifStudent.getAttributs().get("nombre_modification"))<=mini_modification) pasAssezDeModification=true; + } + } + } + if(nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("baremeABC")!=null) { + try { + baremeABC= Boolean.valueOf(nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("baremeABC")); + }catch (Exception e) { + System.out.println("Problème avec la valeur binaire de l'attribut baremeABC."); + } + } + + + StringBuilder fichier = new StringBuilder(); + + //ajoute le chemin vers le feedback dans le node d'analyse + //nodana.retourneFirstEnfantsByName("ouverture").getAttributs().put("feedback", patch + "/" + cheminFeedBack); + + // auteur du sujet + String auteurSujet = nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("auteur"); + if(auteurSujet==null) auteurSujet=""; + + + //création du feedback + fichier.append("\r" + + "\r" + + "\r" + + "\r" + + "Analyse LibreOffice Calc\r"); + + fichier.append("" + + "" + + ""); + + + fichier.append(""); + + fichier.append("\r"); + fichier.append("\r"); + + fichier.append("

"); + if(!commandes.noLogo) { + if(!commandes.newLogo) { + fichier.append("

\r\n" + + "Feedback - AnalyseWriter - format ODF 1.2
"+HTML.imgLogos()+"

\r"); + }else { + + fichier.append("

\r\n" + + "Feedback - AnalyseWriter - format ODF 1.2
"+commandes.contenuFichierSVG+"

\r"); + } + }else { + fichier.append("

\r\n" + + "Feedback - AnalyseWriter - format ODF 1.2

\r"); + } + + //Note + node ouvre = nodana.retourneFirstEnfantsByName("ouverture"); + String noteFrom = ouvre.getAttributs().get("notefrom"); + node notation = nodana.retourneFirstEnfantsByName("bodyetnotation"); + if(!baremeABC) { + if(noteFrom ==null) noteFrom="20"; + if(!commandes.noNote) if(!plagiat&&!copiercoller&&!pasAssezDeModification) fichier.append("

" + notation.getAttributs().get("note") + " / " + noteFrom +"
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); + if(plagiat || copiercoller || pasAssezDeModification) { + notation.getAttributs().put("note","0"); + String AffichageNote = ""; + if(plagiat) AffichageNote = " Plagiat "; + if(copiercoller) AffichageNote = AffichageNote + " Copier Coller "; + if(pasAssezDeModification) AffichageNote = AffichageNote + " Pas assez de modification "; + if(!commandes.noNote) fichier.append("

" + AffichageNote + " / " + noteFrom +"
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); + } + }else { + String imageNote = ""; + switch (notation.getAttributs().get("noteABC")) { + case "A": + imageNote = HTML.NoteA(); + break; + case "B": + imageNote = HTML.NoteB(); + break; + case "C": + imageNote = HTML.NoteC(); + break; + case "D": + imageNote = HTML.NoteD(); + break; + case "E": + imageNote = HTML.NoteE(); + break; + default: + imageNote = ""; + break; + } + if(!commandes.noNote) if(!plagiat&& !copiercoller &&!pasAssezDeModification) fichier.append("

" + imageNote +"
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); + if(plagiat || copiercoller || pasAssezDeModification) { + notation.getAttributs().put("note","0"); + notation.getAttributs().put("noteABC","E"); + String AffichageNote = ""; + if(plagiat) AffichageNote = " Plagiat "; + if(copiercoller) AffichageNote = AffichageNote + " Copier Coller "; + if(pasAssezDeModification) AffichageNote = AffichageNote + " Pas assez de modification "; + if(!commandes.noNote) fichier.append("

" + AffichageNote + " / " + "
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); + } + } + + + //producteur + if(ouvre.getAttributs().get("producteur")!=null) { + try { + producteur= true; + String[] decompose = ouvre.getAttributs().get("producteur").split("/"); + SuiteBureautique=decompose[0]; + VersionLibreOffice=decompose[1].substring(0, decompose[1].lastIndexOf("$")); + SystemeStudent=decompose[1].substring(decompose[1].lastIndexOf("$")+1, decompose[1].lastIndexOf(" ")); + }catch (Exception e) { + System.out.println("Problème avec l'attribut producteur."); + + }finally { + + } + } + + //********************** + //** Les informations ** + //********************** + // date d'analyse, dossier étudiant, auteur sujet, date de la dernière modificatio, lien, algorithme + DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); + LocalDateTime dateTimeModif = null; + String dateModif=""; + if(!ouvre.getAttributs().get("dateModification").isEmpty()) { + try { + dateTimeModif = LocalDateTime.parse(ouvre.getAttributs().get("dateModification")); + dateModif = dateTimeModif.format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)); + }catch (Exception e) { + System.out.println(e.toString()); + } + } + + fichier.append("

Date d'analyse : "+ mediumDateFormat.format(aujourdhui) + "
"); + fichier.append("Dossier étudiant : "+ ouvre.getAttributs().get("dossier") + "
"); + fichier.append("Nom du fichier : "+ ouvre.getAttributs().get("filename") + "
"); + fichier.append("Date de la dernière modification du fichier analysé : "+ dateModif + "
"); + fichier.append("Durée d'édition du fichier analysé : "+ meptl.traitementDureeEdition(ouvre.getAttributs().get("dureeEdition") + "
")); + if(producteur) { + fichier.append("Suite de bureautique de l'étudiant : "+ SuiteBureautique + ""); + fichier.append(" - Version : "+ VersionLibreOffice + ""); + fichier.append(" - Système : "+ SystemeStudent + "
"); + } + fichier.append("
"); + if(!auteurSujet.isEmpty()) {fichier.append("Sujet créé par : "+ auteurSujet + "
");} + fichier.append("Hash du fichier analyse : "+ ouvre.getAttributs().get("hash") + "
"); + fichier.append("Nom du fichier analyse : "+ commandes.nameSujet + "
"); + fichier.append("Titre de l'exercice : "+ ouvre.getAttributs().get("titre") + "
"); + + if(!commandes.noNote) { + if(!plagiat&&!copiercoller&&!pasAssezDeModification) fichier.append("Méthode :
Progression " + ouvre.getAttributs().get("progression") + "Explication
"+ HTML.imgProgression() +"
- Pourcentage correcte : " + nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("proportioncorrect") +"
"); + if(plagiat || copiercoller || pasAssezDeModification) { + String AffichageNote = ""; + if(plagiat) AffichageNote = " Plagiat "; + if(copiercoller) AffichageNote = AffichageNote + " Copier Coller "; + if(pasAssezDeModification) AffichageNote = AffichageNote + " Pas assez de modification "; + fichier.append("Méthode :
Progression " + ouvre.getAttributs().get("progression") + "Explication
"+ HTML.imgProgression() +"
- Pourcentage correcte : "+ AffichageNote +"
"); + } + if(baremeABC) { + fichier.append("Barème :
0% → E → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneE"))*100) + "% → D → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneD"))*100) + "% → C → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneC"))*100) + "% → B → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneB"))*100) + "% → A → 100%Prendre en compte le coefficient de progression.
"); + } + } + + + + + if(ouvre.getAttributs().get("link_sujet")!=null) { + String linkSujet= ouvre.getAttributs().get("link_sujet"); + Matcher m = Pattern.compile("^https://.{1,}|^http://.{1,}").matcher(linkSujet); + if(m.find()) {fichier.append("
Lien vers le sujet
");} + } + if(ouvre.getAttributs().get("link_help")!=null) { + String linkSujet= ouvre.getAttributs().get("link_help"); + Matcher m = Pattern.compile("^https://.{1,}|^http://.{1,}").matcher(linkSujet); + if(m.find()) {fichier.append("
Lien vers le support
");} + } + + fichier.append("
Analysé avec la version : " + commandes.version + "

"); + + + fichier.append(HTML.SautLigne()); + + fichier.append("
"); + + //ajoute le menu + fichier.append(HTML.getHTMLmenu(nodana.retourneFirstEnfantsByName("menu").getNodes())); + + + //Les erreurs + node errors = nodana.retourneFirstEnfantsByName("erreurs"); + if(Boolean.valueOf(errors.getAttributs().get("oneError"))) { + fichier.append(HTML.SautLigne()); + if(Boolean.valueOf(errors.getAttributs().get("manqueHistorique"))) fichier.append(HTML.Paragraph_classp5("ERREUR : Il n'y a pas d'historique des modifications dans ce fichier. Le fichier n'a pas été modifié ou il a été réïnitialisé.
L'analyse de l'historique n'a pas pu se faire.")); + if(Boolean.valueOf(errors.getAttributs().get("manqueCreationDate"))) fichier.append(HTML.Paragraph_classp5("ERREUR : La date de création du fichier a été supprimée. Le fichier a été réïnitialisé ou ce n'est pas le fichier du sujet.")); + if(Boolean.valueOf(errors.getAttributs().get("manqueValeurCreationDate"))) fichier.append(HTML.Paragraph_classp5("ERREUR : Ce n'est pas la bonne date de création du fichier. Le fichier a été réïnitialisé ou ce n'est pas le fichier du sujet.")); + if(Boolean.valueOf(errors.getAttributs().get("manqueMetaSujet"))) fichier.append(HTML.Paragraph_classp5("ERREUR : La méta donnée \"Sujet\" dans les propriétés du fichier a été supprimée ou renommée.")); + if(Boolean.valueOf(errors.getAttributs().get("manqueValeurMetaSujet"))) fichier.append(HTML.Paragraph_classp5("ERREUR : La valeur de la méta donnée \"Sujet\" dans les propriétés du fichier n'est pas \"" + nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("metaSujet"))+".\""); + if(Boolean.valueOf(errors.getAttributs().get("manqueInitialCreator"))) fichier.append(HTML.Paragraph_classp5("ERREUR : La valeur de la méta donnée \"initial-creator\" dans les propriétés du fichier n'est pas \"" + nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("Initial_Creator"))+".\""); + } + + //plagiat + if(plagiat) if(verifStudent!=null){ + fichier.append(HTML.SautLigne()); + ArrayList correspondance = verifStudent.retourneEnfantsByName("correspondance", new ArrayList()); + for(int j = 0 ; j < correspondance.size();j++) { + fichier.append(HTML.Paragraph_classp5("Correspondance à la date=" + correspondance.get(j).getAttributs().get("date") + " avec l'étudiant " + correspondance.get(j).getAttributs().get("Avec_etudiant"))); + } + } + + + fichier.append(HTML.SautLigne()); + + if(!plagiat && !copiercoller && !pasAssezDeModification) { + + //Ajoute de commentaire de l'exercice + fichier.append(HTML.H3(nodana.getContenu().get(0)).replace("-NewLine-", "
")); + + fichier.append(HTML.SautLigne()); + + + fichier.append(HTML.H2("Synthèse")); + + fichier.append(HTML.TableEnteteTableurSynthese()); + String IdError = ""; // permet de récupérer les id des menu ou la proportioncorrect est NaN. (à cause de l'attribut analyseStyle=true) + for(int k = 0 ; k < nodana.getNodes().size();k++) { + if(nodana.getNodes().get(k).getAttributs().get("addmenu")!=null) if(nodana.getNodes().get(k).getAttributs().get("addmenu").equals("true")) { + if(!nodana.getNodes().get(k).getAttributs().get("proportioncorrect").equals("NaN")) { + fichier.append(HTML.TablePointsSyntheseStyle(nodana.getNodes().get(k).getAttributs().get("titre"),Double.valueOf(nodana.getNodes().get(k).getAttributs().get("proportioncorrect")),nodana.getNodes().get(k).getAttributs().get("pointtotal") + " pt",nodana.getNodes().get(k).getAttributs().get("pointgagner") + " pt", nodana.getNodes().get(k).getAttributs().get("poids"),nodana.getNodes().get(k).getAttributs().get("id"))); + }else { + IdError = IdError + nodana.getNodes().get(k).getAttributs().get("id"); + } + } + } + + + //Metadonnées + if(nodana.retourneFirstEnfantsByName("meta")!=null) if(nodana.retourneFirstEnfantsByName("meta").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("meta"))); + } + + //style de paragraphe + if(nodana.retourneFirstEnfantsByName("paragraphs")!=null) if(nodana.retourneFirstEnfantsByName("paragraphs").isClose()) { + //il est possible qu'il n'y ai aucun point car passé par analyseStyle dans le node structurepage + if(!IdError.contains(nodana.retourneFirstEnfantsByName("paragraphs").getAttributs().get("id"))){ + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("paragraphs"))); + } + } + + //pages + if(nodana.retourneFirstEnfantsByName("pages")!=null) if(nodana.retourneFirstEnfantsByName("pages").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("pages"))); + } + + //sequences + if(nodana.retourneFirstEnfantsByName("sequences")!=null) if(nodana.retourneFirstEnfantsByName("sequences").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("sequences"))); + } + + //numerotationchapitre + if(nodana.retourneFirstEnfantsByName("numerotationchapitre")!=null) if(nodana.retourneFirstEnfantsByName("numerotationchapitre").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("numerotationchapitre"))); + } + + //frames + if(nodana.retourneFirstEnfantsByName("frames")!=null) if(nodana.retourneFirstEnfantsByName("frames").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("frames"))); + } + + //section + if(nodana.retourneFirstEnfantsByName("sections")!=null) if(nodana.retourneFirstEnfantsByName("sections").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("sections"))); + } + + //tableau + if(nodana.retourneFirstEnfantsByName("tableaux")!=null) if(nodana.retourneFirstEnfantsByName("tableaux").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("tableaux"))); + } + + //bibliographies + if(nodana.retourneFirstEnfantsByName("bibliographies")!=null) if(nodana.retourneFirstEnfantsByName("bibliographies").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("bibliographies"))); + } + + //tablematieres + if(nodana.retourneFirstEnfantsByName("tablematieres")!=null) if(nodana.retourneFirstEnfantsByName("tablematieres").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("tablematieres"))); + } + + //tableillustrations + if(nodana.retourneFirstEnfantsByName("tableillustrations")!=null) if(nodana.retourneFirstEnfantsByName("tableillustrations").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("tableillustrations"))); + } + + //structurepage + if(nodana.retourneFirstEnfantsByName("structurepage")!=null) if(nodana.retourneFirstEnfantsByName("structurepage").isClose()) { + fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("structurepage"))); + } + + fichier.append("



"); + } + + + + + //footer + fichier.append("
"); + fichier.append("analyseWriter - P. Rodriguez (université d'Artois) - Licence GPL v3.0 - analysé avec la version : " + commandes.version + " - "); + fichier.append("Fichier d'analyse créé avec la version : " + ouvre.getAttributs().get("version") + ""); + fichier.append("
"); + + fichier.append(""); + + fichier.append("\r"); + fichier.append(""); + + + if(!zip) { + + //nom du fichier feedback + String metaS = nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("metaSujet"); + if(metaS.equals("?")) metaS = "metaSujet-inconnu"; + if(metaS.isEmpty()) metaS = "metaSujet-inconnu"; + String cheminFeedBack = nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier") + "-DateLong" + aujourdhui.getTime()+"-"+metaS; + if(!commandes.noNote&&!baremeABC) { + if(!plagiat&&!copiercoller)cheminFeedBack = cheminFeedBack + "-" + nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("note") + ".html"; + if(plagiat) cheminFeedBack = cheminFeedBack + "- plagiat.html"; + if(copiercoller) cheminFeedBack = cheminFeedBack + "- copier-coller.html"; + if(pasAssezDeModification) cheminFeedBack = cheminFeedBack + "- pas assez de modification.html"; + } + if(!commandes.noNote&&baremeABC) { + if(!plagiat)cheminFeedBack = cheminFeedBack + "-" + nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("noteABC") + ".html"; + if(copiercoller) cheminFeedBack = cheminFeedBack + "- copier-coller.html"; + if(plagiat) cheminFeedBack = cheminFeedBack + "- plagiat.html"; + if(pasAssezDeModification) cheminFeedBack = cheminFeedBack + "- pas assez de modification.html"; + } + if(commandes.noNote) { + cheminFeedBack = cheminFeedBack + ".html"; + } + + // Chemin vers le dossier de destination + Path outputFilePath = Paths.get(commandes.path + "/" + cheminFeedBack); + if(commandes.fourniDossierDestination) outputFilePath = Paths.get(commandes.path + "/" + commandes.pathDestination+ "/" + cheminFeedBack); + + + BufferedWriter fichier1 = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8); + + //ajoute le chemin vers le feedback dans le node d'analyse + nodana.retourneFirstEnfantsByName("ouverture").getAttributs().put("feedback", commandes.path + "/" + cheminFeedBack); + + fichier1.append(fichier.toString()); + + fichier1.close(); + + //affichage dans la console + if(!commandes.fourniDossierDestination) System.out.println("\n\t The feedback file has been written.\n\t " + commandes.path + "\\" + cheminFeedBack); + if(commandes.fourniDossierDestination) System.out.println("\n\t The feedback file has been written.\n\t " + commandes.path + "\\" + commandes.pathDestination + "\\" + cheminFeedBack); + + + } + + + return fichier; + } + + + +} diff --git a/src/MEPTL/meptl.java b/src/MEPTL/meptl.java index 28d2dff..ea73345 100644 --- a/src/MEPTL/meptl.java +++ b/src/MEPTL/meptl.java @@ -10,19 +10,19 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.text.DateFormat; +//import java.text.DateFormat; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.time.format.FormatStyle; +//import java.time.LocalDateTime; +//import java.time.format.DateTimeFormatter; +//import java.time.format.FormatStyle; import java.util.ArrayList; import java.util.Date; import java.util.Dictionary; import java.util.Enumeration; import java.util.Hashtable; -import java.util.regex.Matcher; +//import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.xml.parsers.ParserConfigurationException; @@ -44,7 +44,7 @@ import net.lingala.zip4j.exception.ZipException; public class meptl { static DecimalFormat df = new DecimalFormat("###.##"); - static String patch =""; + //static String patch =""; static double progression = 1.0; /** @@ -60,11 +60,11 @@ public class meptl { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, CloneNotSupportedException, InterruptedException { System.getProperty("file.encoding","UTF-8"); - patch = System.getProperty("user.dir"); + commandes.path = System.getProperty("user.dir"); // patch = "C:/Users/pabr6/OneDrive/Desktop/Nouveau dossier"; //** les commandes - new commandes(args,patch); + new commandes(args,commandes.path); //** Node pour le chargement du node sujet (fichier d'analyse) node nodeSujet = new node(); @@ -81,7 +81,7 @@ public class meptl { //***************************************************** //** Lancement des lectures des dossiers ou fichiers ** //***************************************************** - a = new Run(patch,commandes.Profil, commandes.fichierStudentMoodle); + a = new Run(commandes.path,commandes.Profil, commandes.fichierStudentMoodle); //***************************************** @@ -102,7 +102,7 @@ public class meptl { //** Calcul le hash du fichier d'analyse et met à jour le fichier d'analyse ** //**************************************************************************** if(commandes.calculLeHashDuFichier) { - verificationFichierAnalyse.MiseAJourDuHash(); + verificationFichierAnalyse.MiseAJourFichierAnalyse(); } @@ -280,7 +280,8 @@ public class meptl { //**************************** if(!commandes.sansFeeback) { if(!commandes.zipfeedback) { - feedback(ana, verif); //classique directement dans le répertoire + //feedback(ana, verif); //classique directement dans le répertoire + feedbacks.feedback(ana,verif, false); } if(commandes.zipfeedback) { // Dans une archive pour Moodle try { @@ -291,7 +292,8 @@ public class meptl { if(zip.getAttributs().get("size")!=null)size = Long.valueOf(zip.getAttributs().get("size")); if(zip.getAttributs().get("name")!=null)nameZip = zip.getAttributs().get("name"); } - a.AddStreamToZip(feedbackForZip(ana, verif), retourneLeNomDuFeedback(a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i),ana, verif),size,nameZip); + //a.AddStreamToZip(feedbackForZip(ana, verif), retourneLeNomDuFeedback(a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i),ana, verif),size,nameZip); + a.AddStreamToZip(feedbacks.feedback(ana, verif, true), retourneLeNomDuFeedback(a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i),ana, verif),size,nameZip); } catch (ZipException e) { e.printStackTrace(); } catch (IOException e) { @@ -337,7 +339,7 @@ public class meptl { //** Mise à jour du fichier d'analyse ** //************************************** if(commandes.MAJFichierAnalyse||commandes.MAJnameAnalysisFile) { - Run.ecritureNodeEnXML(nodeSujet, commandes.nameSujet.substring(0, commandes.nameSujet.lastIndexOf(".")), commandes.pathDestination, false, "sujet"); + verificationFichierAnalyse.MiseAJourFichierAnalyse(); verificationFichierAnalyse.messagMiseAJourFichierAnalyseAprèsAnalyse(); } @@ -900,7 +902,7 @@ public class meptl { }catch (Exception e) { System.out.println(); System.out.println("** Le fichier \"" + nameSujet + "\" n'est pas dans le dossier courant."); - System.out.println("** Le dossier courant de l'application est : " + patch); + System.out.println("** Le dossier courant de l'application est : " + commandes.path); System.out.println(); } @@ -1589,15 +1591,22 @@ public class meptl { nodpages.setNomElt("pages"); nodpages.setAttributs(nodSujetPage.getAttributs()); - //ajoute l'identifiant pour le menu + //*************************************** + //** Ajoute l'identifiant pour le menu ** + //*************************************** if(a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "style:page")!=null) { nodpages.getAttributs().put("id", a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "style:page").getAttributs().get("id")); } - //initialise les points + //*************************** + //** initialise les points ** + //*************************** outils.initiliseLesPoints(); - for(int i = 0 ; i < nodSujetPage.getNodes().size(); i++) { //niveau 1 + //**************************************** + //** Analyse tous les style:master-page ** + //**************************************** + for(int i = 0 ; i < nodSujetPage.getNodes().size(); i++) { if(nodSujetPage.getNodes().get(i).getNomElt().equals("style:master-page")) { int pointDebut = outils.getPointsClass(); @@ -1614,105 +1623,19 @@ public class meptl { // analyse les attributs du node style:master-page page = analyseLesAttributEtContenuDuNode(pageStudent, pageSujet, page, "ana:page",pageSujet.getNomElt()); - // Les autres nodes enfants + //********************************************** + //** Analyse de tous les autres nodes enfants ** + //********************************************** page=analyseLesNodesEnants.nodeNext(page, "ana:page", pageStudent, null, null, pageSujet, nodSujetParagraphes, nodStudentParagraphes, a); - - - -// // les enfants du premier niveau du node -// for(int j = 0 ; j < pageSujet.getNodes().size();j++ ) { //niveau 2 -// -// node nodSujet = pageSujet.getNodes().get(j); -// String nameNode = nodSujet.getNomElt(); -// page = addNodeSautTitre(nodSujet, page); // ajoute des saut de page s'il y a des sauts avec des titres -// -// //recherche le node correspondant de l'étudiant -// node nodStudent = null; -// if(pageStudent!=null) if(pageStudent.retourneFirstEnfantsByName(nameNode).getNomElt().equals(nameNode)) { -// nodStudent = pageStudent.retourneFirstEnfantsByName(nameNode); -// } -// -// -// // analyse attribut et contenu des enfants du premier niveau -// page = analyseLesAttributEtContenuDuNode(nodStudent, nodSujet, page, "ana:page",pageSujet.getNodes().get(j).getNomElt()); -// -// -// for(int k = 0 ; k < nodSujet.getNodes().size();k++) { //niveau 3 -// // C'est à ce niveau que se trouve les nodes text:p dans les entêtes et les pieds de page -// -// node nod2Sujet = nodSujet.getNodes().get(k); -// String nameNode2 = nod2Sujet.getNomElt(); -// page = addNodeSautTitre(nod2Sujet, page); // ajoute des sauts s'il y a des sauts avec des titres -// -// -// //recherche le node correspondant de l'étudiant -// node nod2Student = null; -// if(nodStudent!=null) if(nodStudent.containElementByName(nameNode2)) { -// nod2Student = rechercherUnNodeStudent.rechercheLeNodeEnCascade(nameNode2,nod2Sujet,null,null,nodStudent,a); -// } -// -// -// //analyse style du paragraphe -// if(nod2Sujet.getAttributs().get("analyseStyle")!=null) { -// if(nod2Sujet.getAttributs().get("analyseStyle").equals("true") && nod2Sujet.getNomElt().equals("text:p")) { -// page = analyseStyle(page, nod2Sujet, nod2Student, nodSujetParagraphes, nodStudentParagraphes); -// } -// } -// -// -// // analyse attribut et contenu des enfants du second niveau -// page = analyseLesAttributEtContenuDuNode(nod2Student, nod2Sujet, page, "ana:page",nodSujet.getNodes().get(k).getNomElt() ); -// -// -// for(int l = 0 ; l < nod2Sujet.getNodes().size();l++) { //niveau 4 -// //C'est à ce niveau qi'il peut y avoir des nodes text:tab ou text:span -// -// node nod3Sujet = nod2Sujet.getNodes().get(l); -// String nameNode3 = nod3Sujet.getNomElt(); -// //page = addNodeSautTitre(nod3Sujet, page); -// -// //recherche du node correspondant de l'étudiant -// node nod3Student = null; -// -// if(nodStudent!=null) if(nodStudent.containElementByName(nameNode3)) { -// nod3Student = rechercherUnNodeStudent.rechercheLeNodeEnCascade(nameNode3,nod3Sujet,null,nodStudent,nod2Student,a); -// } -// -// // analyse attribut et contenu des enfants du troisième niveau -// page = analyseLesAttributEtContenuDuNode(nod3Student, nod3Sujet, page, "ana:page", nod2Sujet.getNodes().get(l).getNomElt()); -// -// -// for(int m = 0 ; m < nod3Sujet.getNodes().size();m++) { //niveau 5 -// node nod4Sujet = nod3Sujet.getNodes().get(m); -// String nameNode4 = nod4Sujet.getNomElt(); -// -// //recherche du node correspondant de l'étudiant -// node nod4Student = null; -// -// if(nodStudent!=null) if(nodStudent.containElementByName(nameNode4)) { -// nod4Student = rechercherUnNodeStudent.rechercheLeNodeEnCascade(nameNode4,nod4Sujet,nodStudent,nod2Student,nod3Student,a); -// } -// -// // analyse attribut et contenu des enfants du troisième niveau -// page = analyseLesAttributEtContenuDuNode(nod4Student, nod4Sujet, page, "ana:page", nod3Sujet.getNodes().get(m).getNomElt()); -// -// } // fin du niveau 5 -// -// } // fin du niveau 4 -// -// } // fin du niveau 3 -// -// } // fin du niveau 2 page.getAttributs().put("point", String.valueOf(outils.getPointsClass()-pointDebut)); page.getAttributs().put("pointTotal", String.valueOf(outils.getPointTotal()-pointTotalDebut)); nodpages.getNodes().add(page); - - } // fin du "style:master-page" + } - } // fin du niveau 1 + } nodpages.getAttributs().put("pointgagner",String.valueOf(outils.getPointsClass())); nodpages.getAttributs().put("pointtotal",String.valueOf(outils.getPointTotal())); @@ -2804,36 +2727,6 @@ public class meptl { return retour; } - - - -// /** -// * Analyse toutes les contenus des enfants et les compares.
-// * Utiliser pour les nodes
-// *
-// * @param Student -// * @param Sujet -// * @param retour -// * @param nameItem -// * @param nameElt -// * @param a -// * @return -// */ -// private static node analyseLesContenusDesArrayList(ArrayList Student, ArrayList 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; -// } /** @@ -2861,7 +2754,8 @@ public class meptl { /** * Analyse tous les attributs des nodes .
- * Formatage direct des styles de paragraphe. Les attributs doivent contenir le code ‼.
+ * Formatage direct des styles de paragraphe.
+ * Les attributs doivent contenir le code ‼.
*
* @param nodeStudent : le node de l'étudiant. * @param sujet : le node du sujet @@ -2968,516 +2862,8 @@ public class meptl { return retour; } - - - /** - * Création du feedback (compte-rendu) au format HTML.
- *
- * @param nodana - * @throws IOException - */ - private static void feedback(node nodana, node verif) throws IOException { - - System.getProperty("file.encoding","UTF-8"); - Date aujourdhui = new Date(); - - int number_match = 2; - int mini_modification = 0; - boolean plagiat = false; - boolean copiercoller = false; - boolean pasAssezDeModification =false; - boolean baremeABC = false; - boolean producteur = false; - String SuiteBureautique = ""; - String VersionLibreOffice = ""; - String SystemeStudent = ""; - node verifStudent = null; - if((commandes.verifHisto||commandes.verifHisto2)&&commandes.ecritNoteCSV&&commandes.fourniCSV) { - if(verif.getAttributs().get("number_match") != null) number_match = Integer.valueOf(verif.getAttributs().get("number_match")); - if(verif.getAttributs().get("mini_number_modification") != null) mini_modification = Integer.valueOf(verif.getAttributs().get("mini_number_modification")); - - //verification du plagiat - verifStudent = verif.retourneFirstNodeByNameAndAttributValue("fichier", "dossier", nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier")); - if(verifStudent != null) { - if(verifStudent.getAttributs().get("filename").equals(nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("filename"))) { - if(Integer.valueOf(verifStudent.getAttributs().get("nombre_correspondances_consecutives"))>number_match) plagiat=true; - if(!verifStudent.getAttributs().get("first_modification_identique").equals("null") && Integer.valueOf(verifStudent.getAttributs().get("nombre_correspondances_consecutives"))>=number_match) plagiat=true; - if(verifStudent.getAttributs().get("copier_coller")!=null) copiercoller=true; - if(Integer.valueOf(verifStudent.getAttributs().get("nombre_modification"))<=mini_modification) pasAssezDeModification=true; - } - } - } - - //BaremeABC - if(nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("baremeABC")!=null) { - try { - baremeABC= Boolean.valueOf(nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("baremeABC")); - }catch (Exception e) { - System.out.println("Problème avec la valeur binaire de l'attribut baremeABC."); - } - } - - - - //nom du fichier feedback - String metaS = nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("metaSujet"); - if(metaS.equals("?")) metaS = "metaSujet-inconnu"; - if(metaS.isEmpty()) metaS = "metaSujet-inconnu"; - String cheminFeedBack = nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier") + "-DateLong" + aujourdhui.getTime()+"-"+metaS; - if(!commandes.noNote&&!baremeABC) { - if(!plagiat&&!copiercoller)cheminFeedBack = cheminFeedBack + "-" + nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("note") + ".html"; - if(plagiat) cheminFeedBack = cheminFeedBack + "- plagiat.html"; - if(copiercoller) cheminFeedBack = cheminFeedBack + "- copier-coller.html"; - if(pasAssezDeModification) cheminFeedBack = cheminFeedBack + "- pas assez de modification.html"; - } - if(!commandes.noNote&&baremeABC) { - if(!plagiat)cheminFeedBack = cheminFeedBack + "-" + nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("noteABC") + ".html"; - if(copiercoller) cheminFeedBack = cheminFeedBack + "- copier-coller.html"; - if(plagiat) cheminFeedBack = cheminFeedBack + "- plagiat.html"; - if(pasAssezDeModification) cheminFeedBack = cheminFeedBack + "- pas assez de modification.html"; - } - if(commandes.noNote) { - cheminFeedBack = cheminFeedBack + ".html"; - } - - // Chemin vers le dossier de destination - Path outputFilePath = Paths.get(patch + "/" + cheminFeedBack); - if(commandes.fourniDossierDestination) outputFilePath = Paths.get(patch + "/" + commandes.pathDestination+ "/" + cheminFeedBack); - - - BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8); - - //ajoute le chemin vers le feedback dans le node d'analyse - nodana.retourneFirstEnfantsByName("ouverture").getAttributs().put("feedback", patch + "/" + cheminFeedBack); - - // auteur du sujet - String auteurSujet = nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("auteur"); - if(auteurSujet==null) auteurSujet=""; - - - //création du feedback - fichier.write("\r" - + "\r" - + "\r" - + "\r" - + "Analyse LibreOffice Calc\r"); - - fichier.write("" - + "" - + ""); - - fichier.write(""); - - fichier.write("\r"); - fichier.write("\r"); - - fichier.write("
"); - if(!commandes.noLogo) { - if(!commandes.newLogo) { - fichier.write("

\r\n" + - "Feedback - AnalyseWriter - format ODF 1.2
"+HTML.imgLogos()+"

\r"); - }else { - - fichier.write("

\r\n" + - "Feedback - AnalyseWriter - format ODF 1.2
"+commandes.contenuFichierSVG+"

\r"); - } - }else { - fichier.write("

\r\n" + - "Feedback - AnalyseWriter - format ODF 1.2

\r"); - } - - - //Note - node ouvre = nodana.retourneFirstEnfantsByName("ouverture"); - String noteFrom = ouvre.getAttributs().get("notefrom"); - node notation = nodana.retourneFirstEnfantsByName("bodyetnotation"); - if(!baremeABC) { - if(noteFrom ==null) noteFrom="20"; - if(!commandes.noNote) if(!plagiat&&!copiercoller&&!pasAssezDeModification) fichier.write("

" + notation.getAttributs().get("note") + " / " + noteFrom +"
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); - if(plagiat || copiercoller || pasAssezDeModification) { - notation.getAttributs().put("note","0"); - String AffichageNote = ""; - if(plagiat) AffichageNote = " Plagiat "; - if(copiercoller) AffichageNote = AffichageNote + " Copier Coller "; - if(pasAssezDeModification) AffichageNote = AffichageNote + " Pas assez de modification "; - if(!commandes.noNote) fichier.write("

" + AffichageNote + " / " + noteFrom +"
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); - } - }else { - String imageNote = ""; - switch (notation.getAttributs().get("noteABC")) { - case "A": - imageNote = HTML.NoteA(); - break; - case "B": - imageNote = HTML.NoteB(); - break; - case "C": - imageNote = HTML.NoteC(); - break; - case "D": - imageNote = HTML.NoteD(); - break; - case "E": - imageNote = HTML.NoteE(); - break; - default: - imageNote = ""; - break; - } - if(!commandes.noNote) if(!plagiat&& !copiercoller &&!pasAssezDeModification) fichier.write("

" + imageNote +"
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); - if(plagiat || copiercoller || pasAssezDeModification) { - notation.getAttributs().put("note","0"); - notation.getAttributs().put("noteABC","E"); - String AffichageNote = ""; - if(plagiat) AffichageNote = " Plagiat "; - if(copiercoller) AffichageNote = AffichageNote + " Copier Coller "; - if(pasAssezDeModification) AffichageNote = AffichageNote + " Pas assez de modification "; - if(!commandes.noNote) fichier.write("

" + AffichageNote + " / " + "
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); - } - } - - //producteur - if(ouvre.getAttributs().get("producteur")!=null) { - try { - producteur= true; - String[] decompose = ouvre.getAttributs().get("producteur").split("/"); - SuiteBureautique=decompose[0]; - VersionLibreOffice=decompose[1].substring(0, decompose[1].lastIndexOf("$")); - SystemeStudent=decompose[1].substring(decompose[1].lastIndexOf("$")+1, decompose[1].lastIndexOf(" ")); - }catch (Exception e) { - System.out.println("Problème avec l'attribut producteur."); - }finally { - - } - } - - //informations - // date d'analyse, dossier étudiant, auteur sujet, date de la dernière modificatio, lien, algorithme - DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); - LocalDateTime dateTimeModif = null; - String dateModif=""; - if(ouvre.getAttributs().get("dateModification")!=null) if(!ouvre.getAttributs().get("dateModification").isEmpty()) { - try { - dateTimeModif = LocalDateTime.parse(ouvre.getAttributs().get("dateModification")); - dateModif = dateTimeModif.format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)); - }catch (Exception e) { - System.out.println(e.toString()); - } - } - - fichier.write("

Date d'analyse : "+ mediumDateFormat.format(aujourdhui) + "
"); - fichier.write("Dossier étudiant : "+ ouvre.getAttributs().get("dossier") + "
"); - fichier.write("Nom du fichier : "+ ouvre.getAttributs().get("filename") + "
"); - fichier.write("Hash du fichier analyse : "+ ouvre.getAttributs().get("hash") + "
"); - fichier.write("Nom du fichier analyse : "+ commandes.nameSujet + "
"); - fichier.write("Date de la dernière modification du fichier analysé : "+ dateModif + "
"); - fichier.write("Durée d'édition du fichier analysé : "+ traitementDureeEdition(ouvre.getAttributs().get("dureeEdition") + "
")); - if(producteur) { - fichier.write("Suite de bureautique : "+ SuiteBureautique + ""); - fichier.write(" - Version : "+ VersionLibreOffice + ""); - fichier.write(" - Système : "+ SystemeStudent + "
"); - } - if(!auteurSujet.isEmpty()) {fichier.write("Sujet créé par : "+ auteurSujet + "
");}else {fichier.write("
");} - - if(!commandes.noNote) { - if(!plagiat&&!copiercoller&&!pasAssezDeModification) fichier.write("Méthode :
Progression " + ouvre.getAttributs().get("progression") + "Explication
"+ HTML.imgProgression() +"
- Pourcentage correcte : " + nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("proportioncorrect") +"
"); - if(plagiat || copiercoller || pasAssezDeModification) { - String AffichageNote = ""; - if(plagiat) AffichageNote = " Plagiat "; - if(copiercoller) AffichageNote = AffichageNote + " Copier Coller "; - if(pasAssezDeModification) AffichageNote = AffichageNote + " Pas assez de modification "; - fichier.write("Méthode :
Progression " + ouvre.getAttributs().get("progression") + "Explication
"+ HTML.imgProgression() +"
- Pourcentage correcte : "+ AffichageNote +"
"); - } - } - - if(baremeABC) { - fichier.append("Barème :
0% → E → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneE"))*100) + "% → D → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneD"))*100) + "% → C → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneC"))*100) + "% → B → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneB"))*100) + "% → A → 100%Prendre en compte le coefficient de progression.
"); - } - - if(ouvre.getAttributs().get("link_sujet")!=null) { - String linkSujet= ouvre.getAttributs().get("link_sujet"); - Matcher m = Pattern.compile("^https://.{1,}|^http://.{1,}").matcher(linkSujet); - if(m.find()) {fichier.write("
Lien vers le sujet
");} - } - if(ouvre.getAttributs().get("link_help")!=null) { - String linkSujet= ouvre.getAttributs().get("link_help"); - Matcher m = Pattern.compile("^https://.{1,}|^http://.{1,}").matcher(linkSujet); - if(m.find()) {fichier.write("
Lien vers le support
");} - } - - fichier.write("
Analysé avec la version : " + commandes.version + "

"); - - - fichier.write(HTML.SautLigne()); - - fichier.write("
"); - - //ajoute le menu - fichier.write(HTML.getHTMLmenu(nodana.retourneFirstEnfantsByName("menu").getNodes())); - - - //Les erreurs - node errors = nodana.retourneFirstEnfantsByName("erreurs"); - if(Boolean.valueOf(errors.getAttributs().get("oneError"))) { - fichier.write(HTML.SautLigne()); - if(Boolean.valueOf(errors.getAttributs().get("manqueHistorique"))) fichier.write(HTML.Paragraph_classp5("ERREUR : Il n'y a pas d'historique des modifications dans ce fichier. Le fichier n'a pas été modifié ou il a été réinitialisé.
L'analyse de l'historique n'a pas pu se faire.")); - if(Boolean.valueOf(errors.getAttributs().get("manqueCreationDate"))) fichier.write(HTML.Paragraph_classp5("ERREUR : La date de création du fichier a été supprimée. Le fichier a été réïnitialisé ou ce n'est pas le fichier du sujet.")); - if(Boolean.valueOf(errors.getAttributs().get("manqueValeurCreationDate"))) fichier.write(HTML.Paragraph_classp5("ERREUR : Ce n'est pas la bonne date de création du fichier. Le fichier a été réïnitialisé ou ce n'est pas fichier du sujet.")); - if(Boolean.valueOf(errors.getAttributs().get("manqueMetaSujet"))) fichier.write(HTML.Paragraph_classp5("ERREUR : La méta donnée \"Sujet\" dans les propriétés du fichier a été supprimée ou renommée.")); - if(Boolean.valueOf(errors.getAttributs().get("manqueValeurMetaSujet"))) fichier.write(HTML.Paragraph_classp5("ERREUR : La valeur de la méta donnée \"Sujet\" dans les propriétés du fichier n'est pas \"" + nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("metaSujet"))+".\""); - if(Boolean.valueOf(errors.getAttributs().get("manqueInitialCreator"))) fichier.write(HTML.Paragraph_classp5("ERREUR : La valeur de la méta donnée \"initial-creator\" dans les propriétés du fichier n'est pas \"" + nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("Initial_Creator"))+".\""); - } - - //plagiat - if(plagiat) if(verifStudent!=null){ - fichier.append(HTML.SautLigne()); - ArrayList correspondance = verifStudent.retourneEnfantsByName("correspondance", new ArrayList()); - for(int j = 0 ; j < correspondance.size();j++) { - fichier.write(HTML.Paragraph_classp5("Correspondance à la date=" + correspondance.get(j).getAttributs().get("date") + " avec l'étudiant " + correspondance.get(j).getAttributs().get("Avec_etudiant"))); - } - } - - - fichier.write(HTML.SautLigne()); - - - if(!plagiat && !copiercoller && !pasAssezDeModification) { - - //Ajoute de commentaire de l'exercice - fichier.write(HTML.H3(nodana.getContenu().get(0)).replace("-NewLine-", "
")); - - fichier.write(HTML.SautLigne()); - - - fichier.write(HTML.H2("Synthèse")); - - fichier.write(HTML.TableEnteteTableurSynthese()); - String IdError = ""; // permet de récupérer les id des menus ou la proportion correct est NaN. (à cause de l'attribut analyseStyle=true) - for(int k = 0 ; k < nodana.getNodes().size();k++) { - if(nodana.getNodes().get(k).getAttributs().get("addmenu")!=null) if(nodana.getNodes().get(k).getAttributs().get("addmenu").equals("true")) { - if(!nodana.getNodes().get(k).getAttributs().get("proportioncorrect").equals("NaN")) { - fichier.write(HTML.TablePointsSyntheseStyle(nodana.getNodes().get(k).getAttributs().get("titre"),Double.valueOf(nodana.getNodes().get(k).getAttributs().get("proportioncorrect")),nodana.getNodes().get(k).getAttributs().get("pointtotal") + " pt",nodana.getNodes().get(k).getAttributs().get("pointgagner") + " pt", nodana.getNodes().get(k).getAttributs().get("poids"),nodana.getNodes().get(k).getAttributs().get("id"))); - }else { - IdError = IdError + nodana.getNodes().get(k).getAttributs().get("id"); - } - } - } - - - //Metadonnées - if(nodana.retourneFirstEnfantsByName("meta")!=null) if(nodana.retourneFirstEnfantsByName("meta").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("meta"))); - } - - //style de paragraphe - if(nodana.retourneFirstEnfantsByName("paragraphs")!=null) if(nodana.retourneFirstEnfantsByName("paragraphs").isClose()) { - //il est possible qu'il n'y ai aucun point car passé par analyseStyle dans le node structurepage - if(!IdError.contains(nodana.retourneFirstEnfantsByName("paragraphs").getAttributs().get("id"))){ - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("paragraphs"))); - } - } - - //pages - if(nodana.retourneFirstEnfantsByName("pages")!=null) if(nodana.retourneFirstEnfantsByName("pages").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("pages"))); - } - - //sequences - if(nodana.retourneFirstEnfantsByName("sequences")!=null) if(nodana.retourneFirstEnfantsByName("sequences").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("sequences"))); - } - //numerotationchapitre - if(nodana.retourneFirstEnfantsByName("numerotationchapitre")!=null) if(nodana.retourneFirstEnfantsByName("numerotationchapitre").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("numerotationchapitre"))); - } - - //frames - if(nodana.retourneFirstEnfantsByName("frames")!=null) if(nodana.retourneFirstEnfantsByName("frames").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("frames"))); - } - - //section - if(nodana.retourneFirstEnfantsByName("sections")!=null) if(nodana.retourneFirstEnfantsByName("sections").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("sections"))); - } - - //tableau - if(nodana.retourneFirstEnfantsByName("tableaux")!=null) if(nodana.retourneFirstEnfantsByName("tableaux").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("tableaux"))); - } - - //bibliographies - if(nodana.retourneFirstEnfantsByName("bibliographies")!=null) if(nodana.retourneFirstEnfantsByName("bibliographies").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("bibliographies"))); - } - - //tablematieres - if(nodana.retourneFirstEnfantsByName("tablematieres")!=null) if(nodana.retourneFirstEnfantsByName("tablematieres").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("tablematieres"))); - } - - //tableillustrations - if(nodana.retourneFirstEnfantsByName("tableillustrations")!=null) if(nodana.retourneFirstEnfantsByName("tableillustrations").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("tableillustrations"))); - } - - //structurepage - if(nodana.retourneFirstEnfantsByName("structurepage")!=null) if(nodana.retourneFirstEnfantsByName("structurepage").isClose()) { - fichier.write(HTML.Table(nodana.retourneFirstEnfantsByName("structurepage"))); - } - - } - - - - fichier.write("



"); - - //footer - fichier.write("
"); - fichier.write("analyseWriter - P. Rodriguez (université d'Artois) - Licence GPL v3.0 - analysé avec la version : " + commandes.version + " - "); - fichier.write("Fichier d'analyse créé avec la version : " + ouvre.getAttributs().get("version") + ""); - fichier.write("
"); - - fichier.write(""); - - fichier.write("\r"); - fichier.write(""); - - fichier.close(); - - //affichage dans la console - if(!commandes.fourniDossierDestination) System.out.println("\n\t The feedback file has been written.\n\t " + patch + "\\" + cheminFeedBack); - if(commandes.fourniDossierDestination) System.out.println("\n\t The feedback file has been written.\n\t " + patch + "\\" + commandes.pathDestination + "\\" + cheminFeedBack); - - - } - - /** * Retourne le nom du fichier de l'étudiant pour le Zip de Moodle.
*
@@ -3550,491 +2936,10 @@ public class meptl { return filename + cheminFeedBack; } - + /** - * Ecriture du fichier pour l'archive ZIP de moodle.
- *
- * @param nodana - * @return - * @throws IOException - */ - private static StringBuilder feedbackForZip(node nodana, node verif) throws IOException { - - System.getProperty("file.encoding","UTF-8"); - Date aujourdhui = new Date(); - - int number_match = 2; - int mini_modification = 0; - boolean plagiat = false; - boolean copiercoller = false; - boolean pasAssezDeModification =false; - boolean baremeABC = false; - boolean producteur =false; - String SuiteBureautique=""; - String VersionLibreOffice=""; - String SystemeStudent=""; - node verifStudent = null; - if((commandes.verifHisto||commandes.verifHisto2)) { //&&commandes.ecritNoteCSV&&commandes.fourniCSV - if(verif.getAttributs().get("number_match") != null) number_match = Integer.valueOf(verif.getAttributs().get("number_match")); - if(verif.getAttributs().get("mini_number_modification") != null) mini_modification = Integer.valueOf(verif.getAttributs().get("mini_number_modification")); - - //verification du plagiat - verifStudent = verif.retourneFirstNodeByNameAndAttributValue("fichier", "dossier", nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier")); - if(verifStudent != null) { - if(verifStudent.getAttributs().get("filename").equals(nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("filename"))) { - if(Integer.valueOf(verifStudent.getAttributs().get("nombre_correspondances_consecutives"))>number_match) plagiat=true; - if(!verifStudent.getAttributs().get("first_modification_identique").equals("null") && Integer.valueOf(verifStudent.getAttributs().get("nombre_correspondances_consecutives"))>=number_match) plagiat=true; - if(verifStudent.getAttributs().get("copier_coller")!=null) copiercoller=true; - if(Integer.valueOf(verifStudent.getAttributs().get("nombre_modification"))<=mini_modification) pasAssezDeModification=true; - } - } - } - if(nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("baremeABC")!=null) { - try { - baremeABC= Boolean.valueOf(nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("baremeABC")); - }catch (Exception e) { - System.out.println("Problème avec la valeur binaire de l'attribut baremeABC."); - } - } - - - StringBuilder fichier = new StringBuilder(); - - //ajoute le chemin vers le feedback dans le node d'analyse - //nodana.retourneFirstEnfantsByName("ouverture").getAttributs().put("feedback", patch + "/" + cheminFeedBack); - - // auteur du sujet - String auteurSujet = nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("auteur"); - if(auteurSujet==null) auteurSujet=""; - - - //création du feedback - fichier.append("\r" - + "\r" - + "\r" - + "\r" - + "Analyse LibreOffice Calc\r"); - - fichier.append("" - + "" - + ""); - - - fichier.append(""); - - fichier.append("\r"); - fichier.append("\r"); - - fichier.append("
"); - if(!commandes.noLogo) { - if(!commandes.newLogo) { - fichier.append("

\r\n" + - "Feedback - AnalyseWriter - format ODF 1.2
"+HTML.imgLogos()+"

\r"); - }else { - - fichier.append("

\r\n" + - "Feedback - AnalyseWriter - format ODF 1.2
"+commandes.contenuFichierSVG+"

\r"); - } - }else { - fichier.append("

\r\n" + - "Feedback - AnalyseWriter - format ODF 1.2

\r"); - } - - //Note - node ouvre = nodana.retourneFirstEnfantsByName("ouverture"); - String noteFrom = ouvre.getAttributs().get("notefrom"); - node notation = nodana.retourneFirstEnfantsByName("bodyetnotation"); - if(!baremeABC) { - if(noteFrom ==null) noteFrom="20"; - if(!commandes.noNote) if(!plagiat&&!copiercoller&&!pasAssezDeModification) fichier.append("

" + notation.getAttributs().get("note") + " / " + noteFrom +"
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); - if(plagiat || copiercoller || pasAssezDeModification) { - notation.getAttributs().put("note","0"); - String AffichageNote = ""; - if(plagiat) AffichageNote = " Plagiat "; - if(copiercoller) AffichageNote = AffichageNote + " Copier Coller "; - if(pasAssezDeModification) AffichageNote = AffichageNote + " Pas assez de modification "; - if(!commandes.noNote) fichier.append("

" + AffichageNote + " / " + noteFrom +"
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); - } - }else { - String imageNote = ""; - switch (notation.getAttributs().get("noteABC")) { - case "A": - imageNote = HTML.NoteA(); - break; - case "B": - imageNote = HTML.NoteB(); - break; - case "C": - imageNote = HTML.NoteC(); - break; - case "D": - imageNote = HTML.NoteD(); - break; - case "E": - imageNote = HTML.NoteE(); - break; - default: - imageNote = ""; - break; - } - if(!commandes.noNote) if(!plagiat&& !copiercoller &&!pasAssezDeModification) fichier.append("

" + imageNote +"
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); - if(plagiat || copiercoller || pasAssezDeModification) { - notation.getAttributs().put("note","0"); - notation.getAttributs().put("noteABC","E"); - String AffichageNote = ""; - if(plagiat) AffichageNote = " Plagiat "; - if(copiercoller) AffichageNote = AffichageNote + " Copier Coller "; - if(pasAssezDeModification) AffichageNote = AffichageNote + " Pas assez de modification "; - if(!commandes.noNote) fichier.append("

" + AffichageNote + " / " + "
"+ ouvre.getAttributs().get("metaSujet") +"

\r"); - } - } - - - //producteur - if(ouvre.getAttributs().get("producteur")!=null) { - try { - producteur= true; - String[] decompose = ouvre.getAttributs().get("producteur").split("/"); - SuiteBureautique=decompose[0]; - VersionLibreOffice=decompose[1].substring(0, decompose[1].lastIndexOf("$")); - SystemeStudent=decompose[1].substring(decompose[1].lastIndexOf("$")+1, decompose[1].lastIndexOf(" ")); - }catch (Exception e) { - System.out.println("Problème avec l'attribut producteur."); - - }finally { - - } - } - - //informations - // date d'analyse, dossier étudiant, auteur sujet, date de la dernière modificatio, lien, algorithme - DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); - LocalDateTime dateTimeModif = null; - String dateModif=""; - if(!ouvre.getAttributs().get("dateModification").isEmpty()) { - try { - dateTimeModif = LocalDateTime.parse(ouvre.getAttributs().get("dateModification")); - dateModif = dateTimeModif.format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)); - }catch (Exception e) { - System.out.println(e.toString()); - } - } - - fichier.append("

Date d'analyse : "+ mediumDateFormat.format(aujourdhui) + "
"); - fichier.append("Dossier étudiant : "+ ouvre.getAttributs().get("dossier") + "
"); - fichier.append("Nom du fichier : "+ ouvre.getAttributs().get("filename") + "
"); - fichier.append("Hash du fichier analyse : "+ ouvre.getAttributs().get("hash") + "
"); - fichier.append("Nom du fichier analyse : "+ commandes.nameSujet + "
"); - fichier.append("Date de la dernière modification du fichier analysé : "+ dateModif + "
"); - fichier.append("Durée d'édition du fichier analysé : "+ traitementDureeEdition(ouvre.getAttributs().get("dureeEdition") + "
")); - if(producteur) { - fichier.append("Suite de bureautique : "+ SuiteBureautique + ""); - fichier.append(" - Version : "+ VersionLibreOffice + ""); - fichier.append(" - Système : "+ SystemeStudent + "
"); - } - if(!auteurSujet.isEmpty()) {fichier.append("Sujet créé par : "+ auteurSujet + "
");}else {fichier.append("
");} - - if(!commandes.noNote) { - if(!plagiat&&!copiercoller&&!pasAssezDeModification) fichier.append("Méthode :
Progression " + ouvre.getAttributs().get("progression") + "Explication
"+ HTML.imgProgression() +"
- Pourcentage correcte : " + nodana.retourneFirstEnfantsByName("bodyetnotation").getAttributs().get("proportioncorrect") +"
"); - if(plagiat || copiercoller || pasAssezDeModification) { - String AffichageNote = ""; - if(plagiat) AffichageNote = " Plagiat "; - if(copiercoller) AffichageNote = AffichageNote + " Copier Coller "; - if(pasAssezDeModification) AffichageNote = AffichageNote + " Pas assez de modification "; - fichier.append("Méthode :
Progression " + ouvre.getAttributs().get("progression") + "Explication
"+ HTML.imgProgression() +"
- Pourcentage correcte : "+ AffichageNote +"
"); - } - } - - if(baremeABC) { - fichier.append("Barème :
0% → E → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneE"))*100) + "% → D → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneD"))*100) + "% → C → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneC"))*100) + "% → B → " + Math.round(Double.valueOf(notation.getAttributs().get("BorneB"))*100) + "% → A → 100%Prendre en compte le coefficient de progression.
"); - } - - - if(ouvre.getAttributs().get("link_sujet")!=null) { - String linkSujet= ouvre.getAttributs().get("link_sujet"); - Matcher m = Pattern.compile("^https://.{1,}|^http://.{1,}").matcher(linkSujet); - if(m.find()) {fichier.append("
Lien vers le sujet
");} - } - if(ouvre.getAttributs().get("link_help")!=null) { - String linkSujet= ouvre.getAttributs().get("link_help"); - Matcher m = Pattern.compile("^https://.{1,}|^http://.{1,}").matcher(linkSujet); - if(m.find()) {fichier.append("
Lien vers le support
");} - } - - fichier.append("
Analysé avec la version : " + commandes.version + "

"); - - - fichier.append(HTML.SautLigne()); - - fichier.append("
"); - - //ajoute le menu - fichier.append(HTML.getHTMLmenu(nodana.retourneFirstEnfantsByName("menu").getNodes())); - - - //Les erreurs - node errors = nodana.retourneFirstEnfantsByName("erreurs"); - if(Boolean.valueOf(errors.getAttributs().get("oneError"))) { - fichier.append(HTML.SautLigne()); - if(Boolean.valueOf(errors.getAttributs().get("manqueHistorique"))) fichier.append(HTML.Paragraph_classp5("ERREUR : Il n'y a pas d'historique des modifications dans ce fichier. Le fichier n'a pas été modifié ou il a été réïnitialisé.
L'analyse de l'historique n'a pas pu se faire.")); - if(Boolean.valueOf(errors.getAttributs().get("manqueCreationDate"))) fichier.append(HTML.Paragraph_classp5("ERREUR : La date de création du fichier a été supprimée. Le fichier a été réïnitialisé ou ce n'est pas le fichier du sujet.")); - if(Boolean.valueOf(errors.getAttributs().get("manqueValeurCreationDate"))) fichier.append(HTML.Paragraph_classp5("ERREUR : Ce n'est pas la bonne date de création du fichier. Le fichier a été réïnitialisé ou ce n'est pas le fichier du sujet.")); - if(Boolean.valueOf(errors.getAttributs().get("manqueMetaSujet"))) fichier.append(HTML.Paragraph_classp5("ERREUR : La méta donnée \"Sujet\" dans les propriétés du fichier a été supprimée ou renommée.")); - if(Boolean.valueOf(errors.getAttributs().get("manqueValeurMetaSujet"))) fichier.append(HTML.Paragraph_classp5("ERREUR : La valeur de la méta donnée \"Sujet\" dans les propriétés du fichier n'est pas \"" + nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("metaSujet"))+".\""); - if(Boolean.valueOf(errors.getAttributs().get("manqueInitialCreator"))) fichier.append(HTML.Paragraph_classp5("ERREUR : La valeur de la méta donnée \"initial-creator\" dans les propriétés du fichier n'est pas \"" + nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("Initial_Creator"))+".\""); - } - - //plagiat - if(plagiat) if(verifStudent!=null){ - fichier.append(HTML.SautLigne()); - ArrayList correspondance = verifStudent.retourneEnfantsByName("correspondance", new ArrayList()); - for(int j = 0 ; j < correspondance.size();j++) { - fichier.append(HTML.Paragraph_classp5("Correspondance à la date=" + correspondance.get(j).getAttributs().get("date") + " avec l'étudiant " + correspondance.get(j).getAttributs().get("Avec_etudiant"))); - } - } - - - fichier.append(HTML.SautLigne()); - - if(!plagiat && !copiercoller && !pasAssezDeModification) { - - //Ajoute de commentaire de l'exercice - fichier.append(HTML.H3(nodana.getContenu().get(0)).replace("-NewLine-", "
")); - - fichier.append(HTML.SautLigne()); - - - fichier.append(HTML.H2("Synthèse")); - - fichier.append(HTML.TableEnteteTableurSynthese()); - String IdError = ""; // permet de récupérer les id des menu ou la proportioncorrect est NaN. (à cause de l'attribut analyseStyle=true) - for(int k = 0 ; k < nodana.getNodes().size();k++) { - if(nodana.getNodes().get(k).getAttributs().get("addmenu")!=null) if(nodana.getNodes().get(k).getAttributs().get("addmenu").equals("true")) { - if(!nodana.getNodes().get(k).getAttributs().get("proportioncorrect").equals("NaN")) { - fichier.append(HTML.TablePointsSyntheseStyle(nodana.getNodes().get(k).getAttributs().get("titre"),Double.valueOf(nodana.getNodes().get(k).getAttributs().get("proportioncorrect")),nodana.getNodes().get(k).getAttributs().get("pointtotal") + " pt",nodana.getNodes().get(k).getAttributs().get("pointgagner") + " pt", nodana.getNodes().get(k).getAttributs().get("poids"),nodana.getNodes().get(k).getAttributs().get("id"))); - }else { - IdError = IdError + nodana.getNodes().get(k).getAttributs().get("id"); - } - } - } - - - //Metadonnées - if(nodana.retourneFirstEnfantsByName("meta")!=null) if(nodana.retourneFirstEnfantsByName("meta").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("meta"))); - } - - //style de paragraphe - if(nodana.retourneFirstEnfantsByName("paragraphs")!=null) if(nodana.retourneFirstEnfantsByName("paragraphs").isClose()) { - //il est possible qu'il n'y ai aucun point car passé par analyseStyle dans le node structurepage - if(!IdError.contains(nodana.retourneFirstEnfantsByName("paragraphs").getAttributs().get("id"))){ - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("paragraphs"))); - } - } - - //pages - if(nodana.retourneFirstEnfantsByName("pages")!=null) if(nodana.retourneFirstEnfantsByName("pages").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("pages"))); - } - - //sequences - if(nodana.retourneFirstEnfantsByName("sequences")!=null) if(nodana.retourneFirstEnfantsByName("sequences").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("sequences"))); - } - - //numerotationchapitre - if(nodana.retourneFirstEnfantsByName("numerotationchapitre")!=null) if(nodana.retourneFirstEnfantsByName("numerotationchapitre").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("numerotationchapitre"))); - } - - //frames - if(nodana.retourneFirstEnfantsByName("frames")!=null) if(nodana.retourneFirstEnfantsByName("frames").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("frames"))); - } - - //section - if(nodana.retourneFirstEnfantsByName("sections")!=null) if(nodana.retourneFirstEnfantsByName("sections").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("sections"))); - } - - //tableau - if(nodana.retourneFirstEnfantsByName("tableaux")!=null) if(nodana.retourneFirstEnfantsByName("tableaux").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("tableaux"))); - } - - //bibliographies - if(nodana.retourneFirstEnfantsByName("bibliographies")!=null) if(nodana.retourneFirstEnfantsByName("bibliographies").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("bibliographies"))); - } - - //tablematieres - if(nodana.retourneFirstEnfantsByName("tablematieres")!=null) if(nodana.retourneFirstEnfantsByName("tablematieres").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("tablematieres"))); - } - - //tableillustrations - if(nodana.retourneFirstEnfantsByName("tableillustrations")!=null) if(nodana.retourneFirstEnfantsByName("tableillustrations").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("tableillustrations"))); - } - - //structurepage - if(nodana.retourneFirstEnfantsByName("structurepage")!=null) if(nodana.retourneFirstEnfantsByName("structurepage").isClose()) { - fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("structurepage"))); - } - - fichier.append("



"); - } - - - - - //footer - fichier.append("
"); - fichier.append("analyseWriter - P. Rodriguez (université d'Artois) - Licence GPL v3.0 - analysé avec la version : " + commandes.version + " - "); - fichier.append("Fichier d'analyse créé avec la version : " + ouvre.getAttributs().get("version") + ""); - fichier.append("
"); - - fichier.append(""); - - fichier.append("\r"); - fichier.append(""); - - - //affichage dans la console -// if(!commandes.fourniDossierDestination) System.out.println("\n\t The feedback file has been written.\n\t " + patch + "\\" + cheminFeedBack); -// if(commandes.fourniDossierDestination) System.out.println("\n\t The feedback file has been written.\n\t " + patch + "\\" + commandes.pathDestination + "\\" + cheminFeedBack); - - return fichier; - } - - - - /** - * Affichage uniquement dans la console des erreurs + * Affichage uniquement dans la console Les erreurs. * @param nod */ private static void messageSystem(node nod) { @@ -4043,30 +2948,31 @@ public class meptl { node erreurs = nod.retourneFirstEnfantsByName("erreurs"); boolean flagError = Boolean.valueOf(erreurs.getAttributs().get("oneError")); - System.out.println("\t Folder analyzed : " + ouverture.getAttributs().get("dossier")); + if(!commandes.fichierStudentMoodle) {System.out.println("\t Dossier analysé : " + ouverture.getAttributs().get("dossier"));}else {System.out.println("\t Fichier analysé : " + ouverture.getAttributs().get("dossier"));} if(notation.getAttributs().get("baremeABC").equals("true")) { - System.out.println("\t Grade : " + notation.getAttributs().get("noteABC")); + System.out.println("\t Note : " + notation.getAttributs().get("noteABC")); }else { - System.out.println("\t Grade : " + notation.getAttributs().get("note") + "/" + ouverture.getAttributs().get("notefrom")); + System.out.println("\t Note : " + notation.getAttributs().get("note") + "/" + ouverture.getAttributs().get("notefrom")); } if(flagError) { - System.out.println("\t ERROR in student's file."); - if(Boolean.valueOf(erreurs.getAttributs().get("manqueHistorique"))) System.out.println("\t ERROR : There is no historic in the file. Perhaps, the file has not been modified or it has been reset by the student."); - if(Boolean.valueOf(erreurs.getAttributs().get("manqueCreationDate"))) System.out.println("\t ERROR : This is the wrong file creation date. The file has been reset or it is not the correct file."); - if(Boolean.valueOf(erreurs.getAttributs().get("manqueValeurCreationDate"))) System.out.println("\t ERROR : This is the wrong file creation date."); + System.out.println("\t ERREUR dans le fichier de l'étudiant."); + if(Boolean.valueOf(erreurs.getAttributs().get("manqueHistorique"))) System.out.println("\t Erreur : Il n'y a pas d'historique dans le fichier.Peut être que le fichier n'a pas été modifié ou il a été réïnitialisé par l'étudiant."); + if(Boolean.valueOf(erreurs.getAttributs().get("manqueCreationDate"))) System.out.println("\t Erreur : Ce n'est pas la bonne date de création du fichier. Le fichier a été réïnitialisé ou ce n'est pas le fichier de l'évaluation."); + if(Boolean.valueOf(erreurs.getAttributs().get("manqueValeurCreationDate"))) System.out.println("\t Erreur : Ce n'est pas la bonne date de création du fichier."); - if(Boolean.valueOf(erreurs.getAttributs().get("manqueMetaSujet"))) System.out.println("\t ERROR : The metadata \"Sujet\" has been deleted in the student's file. It is impossible to identify the exercise."); - if(Boolean.valueOf(erreurs.getAttributs().get("manqueValeurMetaSujet"))) System.out.println("\t ERROR : The metadata value of \"Sujet \" in the student's file is not. \"" + ouverture.getAttributs().get("metaSujet")+"\""); - if(Boolean.valueOf(erreurs.getAttributs().get("manqueInitialCreator"))) System.out.println("\t ERROR : The initial creator value in the student's file is wrong. \"" + ouverture.getAttributs().get("metaSujet")+"\""); + if(Boolean.valueOf(erreurs.getAttributs().get("manqueMetaSujet"))) System.out.println("\t Erreur : La propriété personnalisé \"Sujet\" a été supprimé dans le fichier de l'étudiant."); + if(Boolean.valueOf(erreurs.getAttributs().get("manqueValeurMetaSujet"))) System.out.println("\t Erreur : La propriété personnalisé \"Sujet \" a été modifié par l'étudiant.\nLa valeur de cette propriété personnalisé dans le fichier de l'étudiant est \"" + ouverture.getAttributs().get("metaSujet")+"\".\nCe n'est pas la valeur correct."); + if(Boolean.valueOf(erreurs.getAttributs().get("manqueInitialCreator"))) System.out.println("\t Erreur : La propriété personnalisé \"Sujet\" n'est pas correct."); } System.out.println(); } /** - * Place au node le contenu saut de ligne
- * Et place un titre1, ou titre2, ou titre3 + * Ajoute dans le node nodanalyse.
+ * Le node saut et son attribut titre
+ * Et place un titre1, ou titre2, ou titre3
*
* @param nod * @return @@ -4300,11 +3206,11 @@ public class meptl { */ private static void ecritureCSV(node ana) throws IOException{ Date aujourdhui = new Date(); - Path outputFilePath = Paths.get(patch + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); - if(commandes.fourniDossierDestination) outputFilePath = Paths.get(patch +"/"+ commandes.pathDestination + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + Path outputFilePath = Paths.get(commandes.path + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + if(commandes.fourniDossierDestination) outputFilePath = Paths.get(commandes.path +"/"+ commandes.pathDestination + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); - if(!commandes.fourniDossierDestination) System.out.println(patch +"\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); - if(commandes.fourniDossierDestination) System.out.println(patch +"\\"+ commandes.pathDestination + "\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + if(!commandes.fourniDossierDestination) System.out.println(commandes.path +"\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + if(commandes.fourniDossierDestination) System.out.println(commandes.path +"\\"+ commandes.pathDestination + "\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8); fichier.write("prénom nom;date modification;producteur;durée edition;sujet;note\n"); @@ -4346,11 +3252,11 @@ public class meptl { Date aujourdhui = new Date(); - Path outputFilePath = Paths.get(patch + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); - if(commandes.fourniDossierDestination) outputFilePath = Paths.get(patch +"/"+ commandes.pathDestination + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + Path outputFilePath = Paths.get(commandes.path + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + if(commandes.fourniDossierDestination) outputFilePath = Paths.get(commandes.path +"/"+ commandes.pathDestination + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); - if(!commandes.fourniDossierDestination) System.out.println(patch +"\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); - if(commandes.fourniDossierDestination) System.out.println(patch +"\\"+ commandes.pathDestination + "\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + if(!commandes.fourniDossierDestination) System.out.println(commandes.path +"\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + if(commandes.fourniDossierDestination) System.out.println(commandes.path +"\\"+ commandes.pathDestination + "\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); @@ -4443,11 +3349,11 @@ public class meptl { Date aujourdhui = new Date(); - Path outputFilePath = Paths.get(patch + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); - if(commandes.fourniDossierDestination) outputFilePath = Paths.get(patch +"/"+ commandes.pathDestination + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + Path outputFilePath = Paths.get(commandes.path + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + if(commandes.fourniDossierDestination) outputFilePath = Paths.get(commandes.path +"/"+ commandes.pathDestination + "/DateLong" + aujourdhui.getTime()+ "-Notes.csv"); - if(!commandes.fourniDossierDestination) System.out.println(patch +"\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); - if(commandes.fourniDossierDestination) System.out.println(patch +"\\"+ commandes.pathDestination + "\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + if(!commandes.fourniDossierDestination) System.out.println(commandes.path +"\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); + if(commandes.fourniDossierDestination) System.out.println(commandes.path +"\\"+ commandes.pathDestination + "\\DateLong" + aujourdhui.getTime()+ "-Notes.csv"); BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, encoding); fichier.write("prénom nom"+separator+"email"+separator+"identifiant"+separator+"date modification"+separator+"producteur"+separator+"durée edition"+separator+"sujet"+separator+"nbr modification" + separator + "nbr modifications date unique" + separator+ "nbr match consecutif" + separator +"note" + separator +"commentaire\n"); @@ -4598,7 +3504,7 @@ public class meptl { * @param dureeEdition * @return */ - private static String traitementDureeEdition(String dureeEdition) { + public static String traitementDureeEdition(String dureeEdition) { dureeEdition = dureeEdition.replace("P", ""); dureeEdition = dureeEdition.replace("D", " j "); dureeEdition = dureeEdition.replace("T", " "); diff --git a/src/MEPTL/verificationFichierAnalyse.java b/src/MEPTL/verificationFichierAnalyse.java index 78c7433..2ba3644 100644 --- a/src/MEPTL/verificationFichierAnalyse.java +++ b/src/MEPTL/verificationFichierAnalyse.java @@ -543,7 +543,7 @@ public class verificationFichierAnalyse { * @throws CloneNotSupportedException * @throws IOException */ - public static void MiseAJourDuHash() throws CloneNotSupportedException, IOException { + public static void MiseAJourFichierAnalyse() throws CloneNotSupportedException, IOException { node nodeCalculHash = meptl.chargementsujet(commandes.nameSujet, false); commandes.hash = String.valueOf(Run.HashNode(nodeCalculHash,0)); boolean maj =false; @@ -564,7 +564,7 @@ public class verificationFichierAnalyse { if(maj) { int nbespace = "───────────────────────────┐".length()-commandes.hash.length(); if (nbespace<0) nbespace=1; - int nbespace2 = "────────────────────────────────┐".length()-commandes.hash.length(); + int nbespace2 = "───────────────────────────────┐".length()-commandes.nameSujet.length(); if (nbespace2<0) nbespace2=1; System.out.println("\t\t┌────────────────────────────────────────────────────────────────────┐"); System.out.println("\t\t│ Le hash du code de l'évaluation ou le nom du fichier d'analyse │"); @@ -606,7 +606,7 @@ public class verificationFichierAnalyse { static private void messagMiseAJourFichierAnalyse(String hash) { int nbespace = "───────────────────────────┐".length()-hash.length(); if (nbespace<0) nbespace=1; - int nbespace2 = "──────────────────────────────┐".length()-hash.length(); + int nbespace2 = "───────────────────────────────┐".length()-commandes.nameSujet.length(); if (nbespace2<0) nbespace2=1; System.out.println("\t\t┌────────────────────────────────────────────────────────────────────┐"); System.out.println("\t\t│ A la fin de l'évaluation. │"); @@ -622,7 +622,7 @@ public class verificationFichierAnalyse { static public void messagMiseAJourFichierAnalyseAprèsAnalyse() { int nbespace = "───────────────────────────┐".length()-commandes.hash.length(); if (nbespace<0) nbespace=1; - int nbespace2 = "──────────────────────────────┐".length()-commandes.hash.length(); + int nbespace2 = "───────────────────────────────┐".length()-commandes.hash.length(); if (nbespace2<0) nbespace2=1; System.out.println("\t\t┌────────────────────────────────────────────────────────────────────┐"); System.out.println("\t\t│ Mise à jour du fichier d'analyse │");