exemple files and jar and remove generated files

This commit is contained in:
nessar committed 2024-04-26 20:25:20 +02:00
1 parent a20cfd0735
commit c2d8305cc8
6 files changed
+23 -867

No files matched your search

+2 -1
View File
@@ -1,3 +1,4 @@
{
"java.compile.nullAnalysis.mode": "automatic"
"java.compile.nullAnalysis.mode": "automatic",
"java.configuration.updateBuildConfiguration": "automatic"
}
+13 -2
View File
@@ -3,7 +3,15 @@
## How to use
```bash
java -jar app.jar <template.html> <studentNumbers.txt> <encryptKey>
gradle run --args="<template.html> <studentNumbers.txt> <encryptKey>"
```
or
```bash
gradle jar
```
```bash
java -jar build/libs/app.jar <template.html> <studentNumbers.txt> <encryptKey>
```
## Template
@@ -18,4 +26,7 @@ The file must have all students numbers line by line
A numeric key ex: 123456
## Ouput
The program will ouput an exam.html printable (should tweak settings to get the best result) and a anoCode.csv that contains the students numbers and the corresponding anonym code.
The program will ouput an exam.html printable (should tweak settings to get the best result) and a anoCode.csv that contains the students numbers and the corresponding anonym code.#
## Exemple files
I made exemple files: `app/src/numEtu.txt` and `app/src/template.html`
-14
View File
@@ -1,14 +0,0 @@
anoCode,student
34559142,22018998
34559143,22018999
34550254,22019000
34550255,22019001
34550256,22019002
34550257,22019003
34550258,22019004
34550259,22019005
34550250,22019006
34550251,22019007
34550252,22019008
34550253,22019009
34550264,22019010
1 anoCode student
2 34559142 22018998
3 34559143 22018999
4 34550254 22019000
5 34550255 22019001
6 34550256 22019002
7 34550257 22019003
8 34550258 22019004
9 34550259 22019005
10 34550250 22019006
11 34550251 22019007
12 34550252 22019008
13 34550253 22019009
14 34550264 22019010
+7
View File
@@ -41,3 +41,10 @@ tasks.named<Test>("test") {
// Use JUnit Platform for unit tests.
useJUnitPlatform()
}
tasks.jar {
// Ensure the JAR is executable.
manifest {
attributes["Main-Class"] = application.mainClass
}
}
-849
View File
@@ -1,849 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.0/dist/barcodes/JsBarcode.code128.min.js"></script>
<title>Exam Page</title>
<style>
body {
font-family: sans-serif;
max-width: 800px;
margin: auto;
box-sizing: border-box;
}
.center {
display: flex;
justify-content: center;
}
.center button {
padding: 10px;
font-size: 16px;
}
@media print {
.no-print {
display: none;
}
}
.page {
display: flex;
flex-direction: row;
width: 210mm;
height: 297mm;
}
.correction {
width: 125px;
border: 1px solid black;
}
.content {
flex-grow: 1;
display: flex;
flex-direction: column;
}
.header {
padding: 10px;
padding-bottom: 0;
border: 1px solid black;
border-left: 0px;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.student-response {
padding: 25px;
padding-bottom: 0;
flex-grow: 1;
border: 1px solid black;
border-top: 0;
border-left: 0;
}
.line {
margin-bottom: 25px;
border-bottom: 1px dotted black;
}
</style>
</head>
<body>
<div class="no-print center">
<button class="no-print" onclick="window.print()">Imprimer les copies</button>
</div>
<div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 1</p>
</div>
<div class="restults">
<svg id="barcode-34559142"></svg>
<script>
JsBarcode("#barcode-34559142")
.CODE128("34559142", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 2</p>
</div>
<div class="restults">
<svg id="barcode-34559143"></svg>
<script>
JsBarcode("#barcode-34559143")
.CODE128("34559143", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 3</p>
</div>
<div class="restults">
<svg id="barcode-34550254"></svg>
<script>
JsBarcode("#barcode-34550254")
.CODE128("34550254", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 4</p>
</div>
<div class="restults">
<svg id="barcode-34550255"></svg>
<script>
JsBarcode("#barcode-34550255")
.CODE128("34550255", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 5</p>
</div>
<div class="restults">
<svg id="barcode-34550256"></svg>
<script>
JsBarcode("#barcode-34550256")
.CODE128("34550256", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 6</p>
</div>
<div class="restults">
<svg id="barcode-34550257"></svg>
<script>
JsBarcode("#barcode-34550257")
.CODE128("34550257", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 7</p>
</div>
<div class="restults">
<svg id="barcode-34550258"></svg>
<script>
JsBarcode("#barcode-34550258")
.CODE128("34550258", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 8</p>
</div>
<div class="restults">
<svg id="barcode-34550259"></svg>
<script>
JsBarcode("#barcode-34550259")
.CODE128("34550259", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 9</p>
</div>
<div class="restults">
<svg id="barcode-34550250"></svg>
<script>
JsBarcode("#barcode-34550250")
.CODE128("34550250", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 10</p>
</div>
<div class="restults">
<svg id="barcode-34550251"></svg>
<script>
JsBarcode("#barcode-34550251")
.CODE128("34550251", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 11</p>
</div>
<div class="restults">
<svg id="barcode-34550252"></svg>
<script>
JsBarcode("#barcode-34550252")
.CODE128("34550252", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 12</p>
</div>
<div class="restults">
<svg id="barcode-34550253"></svg>
<script>
JsBarcode("#barcode-34550253")
.CODE128("34550253", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div><div class="page">
<div class="correction">
</div>
<div class="content">
<div class="header">
<div class="info">
<h1>Examen</h1>
<p>ÉPREUVE: _______________</p>
<p>DATE: _______________</p>
<p>NUMÉRO DE PLACE: 13</p>
</div>
<div class="restults">
<svg id="barcode-34550264"></svg>
<script>
JsBarcode("#barcode-34550264")
.CODE128("34550264", { fontSize: 12, textMargin: 0, flat: true, displayValue: false })
.blank(20) // Create space between the barcodes
.render();
</script>
<p>Note: </p>
</div>
</div>
<div class="student-response">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
</div>
</div>
</body>
</html>
+1 -1
View File
@@ -10,7 +10,7 @@ import java.util.List;
public class App {
public static void main(String[] args) throws Exception {
if (args.length != 3) {
System.out.println("Usage: java -jar app.jar <htmlTemplate.html> <numeroEtudiants.txt> <encryptKey>");
System.out.println("Usage: java -jar build/libs/app.jar <template.html> <studentNumbers.txt>");
System.exit(1);
}
ExamenHTML examen = new ExamenHTML(args[0]);