maj
This commit is contained in:
parent
9ef8dc05e6
commit
8fd25394dc
Binary file not shown.
@ -19,6 +19,7 @@ public class commandes {
|
|||||||
|
|
||||||
//** Le node du fichier d'analyse
|
//** Le node du fichier d'analyse
|
||||||
public static node sujet = new node();
|
public static node sujet = new node();
|
||||||
|
public static node tousLesResultats = new node("Tous");
|
||||||
public static node sujetSauvegarde = new node();
|
public static node sujetSauvegarde = new node();
|
||||||
public static JTree tree = new JTree();
|
public static JTree tree = new JTree();
|
||||||
public static node nodeACCSV = null;
|
public static node nodeACCSV = null;
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
package evaluer;
|
package evaluer;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import outils.outils;
|
import outils.outils;
|
||||||
import xml.crearNodeAna;
|
import xml.creerNodeEvaluationEtudiant;
|
||||||
import xml.node;
|
import xml.node;
|
||||||
|
|
||||||
public class evaluerAttributs {
|
public class evaluerAttributs {
|
||||||
|
|
||||||
private node nEtudiant ;
|
private node nEtudiant ;
|
||||||
private crearNodeAna nAnalyse ;
|
private creerNodeEvaluationEtudiant nAnalyse ;
|
||||||
private node nSujet ;
|
private node nSujet ;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -17,7 +18,7 @@ public class evaluerAttributs {
|
|||||||
* @param nodeEtudiant : le node de l'étudiant.
|
* @param nodeEtudiant : le node de l'étudiant.
|
||||||
* @param analyse : le node analyse qui contiendra les résultats.
|
* @param analyse : le node analyse qui contiendra les résultats.
|
||||||
*/
|
*/
|
||||||
public evaluerAttributs(node nodeSujet, node nodeEtudiant, crearNodeAna analyse) {
|
public evaluerAttributs(node nodeSujet, node nodeEtudiant, creerNodeEvaluationEtudiant analyse) {
|
||||||
nEtudiant = nodeEtudiant;
|
nEtudiant = nodeEtudiant;
|
||||||
nAnalyse = analyse;
|
nAnalyse = analyse;
|
||||||
nSujet = nodeSujet;
|
nSujet = nodeSujet;
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package evaluer;
|
package evaluer;
|
||||||
|
|
||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
|
||||||
@ -17,14 +19,14 @@ import calcul.enumerations.typeFichier;
|
|||||||
import fenetres.baliseStyle;
|
import fenetres.baliseStyle;
|
||||||
import xml.EnsembleFichiers;
|
import xml.EnsembleFichiers;
|
||||||
import xml.LecturesDossiers;
|
import xml.LecturesDossiers;
|
||||||
import xml.crearNodeAna;
|
import xml.creerNodeEvaluationEtudiant;
|
||||||
import xml.node;
|
import xml.node;
|
||||||
import xml.transformeXLMtoNode;
|
import xml.transformeXLMtoNode;
|
||||||
|
|
||||||
public class evaluerLesFichiersEtudiants implements Runnable{
|
public class evaluerLesFichiersEtudiants implements Runnable{
|
||||||
|
|
||||||
private final JEditorPane txt;
|
private final JEditorPane txt;
|
||||||
public node tousLesResultats = new node("Tous");
|
|
||||||
|
|
||||||
public evaluerLesFichiersEtudiants(JEditorPane txt) {
|
public evaluerLesFichiersEtudiants(JEditorPane txt) {
|
||||||
commandes.analyse=true;
|
commandes.analyse=true;
|
||||||
@ -65,6 +67,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{
|
|||||||
|
|
||||||
if(commandes.fichierStudentMoodle) {
|
if(commandes.fichierStudentMoodle) {
|
||||||
LecturesDossiers.getEC().Initialise();
|
LecturesDossiers.getEC().Initialise();
|
||||||
|
commandes.tousLesResultats.clear();
|
||||||
txt.setText("");
|
txt.setText("");
|
||||||
try {
|
try {
|
||||||
new LecturesDossiers(enumerations.LocationFile.UniquementFichier, commandes.path);
|
new LecturesDossiers(enumerations.LocationFile.UniquementFichier, commandes.path);
|
||||||
@ -160,8 +163,11 @@ public class evaluerLesFichiersEtudiants implements Runnable{
|
|||||||
//*****************************************************
|
//*****************************************************
|
||||||
//** Parcours l'ensemble des fichiers des étudiants ***
|
//** Parcours l'ensemble des fichiers des étudiants ***
|
||||||
//*****************************************************
|
//*****************************************************
|
||||||
|
StringBuilder fichierCSV = new StringBuilder();
|
||||||
|
fichierCSV.append("nomEtudiant;note;pourcentage\n");
|
||||||
for(int i = 0 ; i < nbClasseur ; i++) {
|
for(int i = 0 ; i < nbClasseur ; i++) {
|
||||||
String texteAfficher = txt.getText() + "\nEvaluation du fichier n° " + String.valueOf(i+1) + "/" + String.valueOf(nbClasseur) + " fichier(s)";
|
|
||||||
|
String texteAfficher = "Evaluation du fichier n° " + String.valueOf(i+1) + "/" + String.valueOf(nbClasseur) + " fichier(s)\n" + txt.getText() ;
|
||||||
txt.setText(texteAfficher);
|
txt.setText(texteAfficher);
|
||||||
|
|
||||||
//index de l'étudiant
|
//index de l'étudiant
|
||||||
@ -193,19 +199,37 @@ public class evaluerLesFichiersEtudiants implements Runnable{
|
|||||||
nodStudent.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp);
|
nodStudent.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp);
|
||||||
|
|
||||||
if(commandes.analyse) {
|
if(commandes.analyse) {
|
||||||
crearNodeAna ana = new crearNodeAna(nomEtudiant, i);
|
creerNodeEvaluationEtudiant ana = new creerNodeEvaluationEtudiant(nomEtudiant, i);
|
||||||
new evaluerNodesClasseurStudent(ana, nodStudent);
|
new evaluerNodesClasseurStudent(ana, nodStudent);
|
||||||
ana.calculResultat();
|
ana.calculResultatDuNode();
|
||||||
tousLesResultats.addEnfant(ana.clone());
|
fichierCSV.append(ana.retourneFirstEnfant("csv").getContenu(0)+"\n");
|
||||||
|
commandes.tousLesResultats.addEnfant(ana);
|
||||||
}
|
}
|
||||||
tousLesResultats.saveNodeEnXMLinNewFile("ana.xml", commandes.pathApp);
|
commandes.tousLesResultats.saveNodeEnXMLinNewFile("ana.xml", commandes.pathApp);
|
||||||
|
|
||||||
} catch (CloneNotSupportedException | IOException e) {
|
} catch (CloneNotSupportedException | IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}// ** Parcours l'ensemble des fichiers des étudiants ***
|
}// ** Parcours l'ensemble des fichiers des étudiants ***
|
||||||
|
txt.setText("** FIN**\n" + txt.getText());
|
||||||
|
saveCSV(commandes.pathApp, fichierCSV);
|
||||||
}// Run
|
}// Run
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static boolean saveCSV(String filePath, StringBuilder content) {
|
||||||
|
String path = filePath + "/ensembleResultats.csv";
|
||||||
|
try (BufferedWriter writer = new BufferedWriter(new FileWriter(path))) {
|
||||||
|
writer.write(content.toString()); // Écrit le contenu dans le fichier
|
||||||
|
System.out.println("✅ Fichier CSV sauvegardé avec succès : " + filePath);
|
||||||
|
return true;
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.err.println("❌ Erreur lors de la sauvegarde du fichier CSV : " + e.getMessage());
|
||||||
|
e.printStackTrace(); // Affiche la trace de l'erreur pour le débogage
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
//**********************************
|
//**********************************
|
||||||
//** Analyse des fichiers student **
|
//** Analyse des fichiers student **
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package evaluer;
|
package evaluer;
|
||||||
|
|
||||||
import calc.commandes;
|
import calc.commandes;
|
||||||
import xml.crearNodeAna;
|
import xml.creerNodeEvaluationEtudiant;
|
||||||
import xml.node;
|
import xml.node;
|
||||||
|
|
||||||
public class evaluerNodesClasseurStudent {
|
public class evaluerNodesClasseurStudent {
|
||||||
|
|
||||||
private crearNodeAna nAna ;
|
private creerNodeEvaluationEtudiant nAna ;
|
||||||
private node nodeEtudiant = new node();
|
private node nodeEtudiant = new node();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,7 +16,7 @@ public class evaluerNodesClasseurStudent {
|
|||||||
* @param ana
|
* @param ana
|
||||||
* @param nodStudent
|
* @param nodStudent
|
||||||
*/
|
*/
|
||||||
public evaluerNodesClasseurStudent(crearNodeAna ana, node nodStudent) {
|
public evaluerNodesClasseurStudent(creerNodeEvaluationEtudiant ana, node nodStudent) {
|
||||||
nodeEtudiant = nodStudent;
|
nodeEtudiant = nodStudent;
|
||||||
nAna = ana;
|
nAna = ana;
|
||||||
evaluerLesFeuilles();
|
evaluerLesFeuilles();
|
||||||
|
@ -1,69 +0,0 @@
|
|||||||
package xml;
|
|
||||||
|
|
||||||
import java.text.ParseException;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import calcul.formatDateWriter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Cette class contient tous les résultats d'un seul étudiant.<br>
|
|
||||||
* Les resultats sont stockés dans le node ana (node analyse).
|
|
||||||
* @author pabr6
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class crearNodeAna extends node{
|
|
||||||
|
|
||||||
private int nbrPointTotal = 0;
|
|
||||||
private int pointGagner = 0;
|
|
||||||
|
|
||||||
public crearNodeAna() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public crearNodeAna(String nomEtudiant, Integer indexFichier) {
|
|
||||||
this.nameNode="analyse";
|
|
||||||
this.attributs.put("nomEtudiant", nomEtudiant);
|
|
||||||
this.attributs.put("indexFichier", String.valueOf(indexFichier));
|
|
||||||
try {
|
|
||||||
this.attributs.put("dateEvaluation", String.valueOf(formatDateWriter.DateLibreOffice(new Date())));
|
|
||||||
} catch (ParseException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
this.attributs.put("nbrPointTotal", "0");
|
|
||||||
this.attributs.put("pointGagner", "0");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Calcul le total des points de l'étudiants.<br>
|
|
||||||
* Ajoute les attributs nbrPointTotal et pointGagner.<br>
|
|
||||||
*/
|
|
||||||
public void calculResultat() {
|
|
||||||
int total= 0;
|
|
||||||
int point = 0 ;
|
|
||||||
for (node enfant : this.retourneAllEnfants("resultat")) {
|
|
||||||
total = total + Integer.valueOf(enfant.getAttributs().get("total"));
|
|
||||||
point = point + Integer.valueOf(enfant.getAttributs().get("point"));
|
|
||||||
}
|
|
||||||
this.getAttributs().put("nbrPointTotal", String.valueOf(total));
|
|
||||||
this.getAttributs().put("pointGagner", String.valueOf(point));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void addEnfant(node enfant) {
|
|
||||||
// enfant = (crearNodeAna) enfant;
|
|
||||||
enfant.setParent(this);
|
|
||||||
enfant.setLevel(this.level+1);
|
|
||||||
this.enfants.add(enfant);
|
|
||||||
if(enfant.getNameNode().equals("resultat")) {
|
|
||||||
nbrPointTotal = nbrPointTotal + Integer.valueOf(enfant.getAttributs().get("total"));
|
|
||||||
if(Boolean.valueOf(enfant.getAttributs().get("correct"))) {
|
|
||||||
pointGagner = pointGagner + Integer.valueOf(enfant.getAttributs().get("total"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
73
src/xml/creerNodeEvaluationEtudiant.java
Normal file
73
src/xml/creerNodeEvaluationEtudiant.java
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
package xml;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import calc.commandes;
|
||||||
|
import calcul.formatDateWriter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cette class contient tous les résultats d'un seul étudiant.<br>
|
||||||
|
* Les resultats sont stockés dans le node ana (node analyse).
|
||||||
|
* @author pabr6
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class creerNodeEvaluationEtudiant extends node{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public creerNodeEvaluationEtudiant() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public creerNodeEvaluationEtudiant(String nomEtudiant, Integer indexFichier) {
|
||||||
|
this.nameNode="analyse";
|
||||||
|
this.attributs.put("nomEtudiant", nomEtudiant);
|
||||||
|
this.attributs.put("indexFichier", String.valueOf(indexFichier));
|
||||||
|
try {
|
||||||
|
this.attributs.put("dateEvaluation", String.valueOf(formatDateWriter.DateLibreOffice(new Date())));
|
||||||
|
} catch (ParseException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
this.attributs.put("nbrPointTotal", "0");
|
||||||
|
this.attributs.put("pointGagner", "0");
|
||||||
|
this.attributs.put("bareme",String.valueOf(commandes.analyse_bareme));
|
||||||
|
this.attributs.put("baremeABC",String.valueOf(commandes.analyse_baremeABC));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calcul le total des points de l'étudiants.<br>
|
||||||
|
* Ajoute les attributs nbrPointTotal et pointGagner.<br>
|
||||||
|
*/
|
||||||
|
public void calculResultatDuNode() {
|
||||||
|
int total= 0;
|
||||||
|
int point = 0 ;
|
||||||
|
node root = this.retourneRoot();
|
||||||
|
for (node enfant : root.retourneAllEnfants("resultat")) {
|
||||||
|
total = total + Integer.valueOf(enfant.getAttributs().get("total"));
|
||||||
|
point = point + Integer.valueOf(enfant.getAttributs().get("point"));
|
||||||
|
}
|
||||||
|
root.getAttributs().put("nbrPointTotal", String.valueOf(total));
|
||||||
|
root.getAttributs().put("pointGagner", String.valueOf(point));
|
||||||
|
notationEtudiant(root,total,point);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void notationEtudiant(node root, int total, int point ) {
|
||||||
|
node csv = new node("csv");
|
||||||
|
double note = (double) 0;
|
||||||
|
double pourcentageReussite = (double) 0;
|
||||||
|
if(!commandes.analyse_baremeABC) {
|
||||||
|
pourcentageReussite = (double) point/total;
|
||||||
|
note = pourcentageReussite*commandes.analyse_bareme;
|
||||||
|
}
|
||||||
|
csv.addContenu(root.getAttributs().get("nomEtudiant") + ";" +String.valueOf(note) + ";" + String.valueOf(pourcentageReussite));
|
||||||
|
root.addEnfant(csv);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -668,6 +668,17 @@ protected boolean nodeClose = false;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Nettoyage du node.<br>
|
||||||
|
* Supprime les attributs, les enfants, les contenus.<br>
|
||||||
|
*/
|
||||||
|
public void clear() {
|
||||||
|
this.removeAllAttributs();
|
||||||
|
this.removeAllEnfants();
|
||||||
|
this.removeAllContenu();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public node clone() throws CloneNotSupportedException {
|
public node clone() throws CloneNotSupportedException {
|
||||||
|
Loading…
Reference in New Issue
Block a user