diff --git a/README.md b/README.md
index 57dcdd892e165b3de85f02e4f6bb17ec87908323..add98d3e4e21aa0c3c0249a202e8bcb3d05e6c71 100644
--- a/README.md
+++ b/README.md
@@ -27,3 +27,25 @@ Ce module marche pour MA feuille de style AMC, qui contient :
 et où ``{mlang en}`` et ``{mlang other}`` sont utilisés dans moodle.
 
 Mettre ``unsafe`` à ``False`` pour ne pas remplacer les ``<span>`` (`utils.py`)
+
+On peut fournir un un modèle LaTeX de sujet contenant ```%%%Exam content%%%``` à l'endroit où mettre le contenu de l'exam
+
+```bash
+usage: mood2amc.py [-h] [-m MOODLEDB] [-u] [-d DESTINATION] [-s SUB_DIR]
+
+Convertir un export de base de questions moodle en sujet AMC
+ex :
+‣./mood2amc.py -m base-de-questions_moodle.xml
+‣./mood2amc.py -u -m data/base-de-questions_moodle.xml -d data -s images
+‣./mood2amc.py -m bdm.xml -d /home/user/Documents/Exams/mon_super_exam
+
+optional arguments:
+  -h, --help            show this help message and exit
+  -m MOODLEDB, --moodledb MOODLEDB
+                        la base de questions moodle xml à convertir
+  -u, --unsafe          convertir les <span> monospace en listings (dangereux)
+  -d DESTINATION, --destination DESTINATION
+                        dossier de destination
+  -s SUB_DIR, --sub_dir SUB_DIR
+                        Dossier où mettre les images et listings (sous-dossier de destination)
+```
diff --git a/XML_Moodle.py b/XML_Moodle.py
index fc86b8c517712fda5bdfd08768e17c26735ba4ed..adedbe38d7f0fc66747ea19d1f93794a2b8e36a4 100755
--- a/XML_Moodle.py
+++ b/XML_Moodle.py
@@ -3,6 +3,7 @@ import xml.etree.ElementTree as ET
 from unidecode import unidecode
 from utils import strip_tags, mlang_2_multiling, score_2_str
 import base64
+from sys import path
 from PIL import Image
 from io import BytesIO
 from re import findall,DOTALL
@@ -52,21 +53,46 @@ class Quizz:
 
 	def __str__(self):
 		res = ""
-		digest ="%%%Exemple d'examen\n\t\t%\\cleargroup{exam}\n"
+		count = 0
 		for c,c_q in self.questions.items():
-			tmp = "\t\t%\\shufflegroup{"+self.categories[c]+"}%("+c+"):"
-			count = 0
 			for q in c_q:
 				res += str(q)
 				count += 1
+		print(count, "questions processed.")
+		return res
+
+	def get_exam(self, output_path, model=None):
+		digest ="%%%Exemple d'examen\n\t\t\\cleargroup{exam}\n"
+		totalq = 0
+		totalpoints = 0
+		for c,c_q in self.questions.items():
+			tmp = "\t\t\\shufflegroup{"+self.categories[c]+"}%("+c+"): "
+			count = 0
+			score = 0
+			for q in c_q:
+				count += 1
+				score += q.max
+				totalq += 1
+				totalpoints += q.max
 			if count > 0:
-				digest += f"{tmp}{count} questions\n\t\t%\\copygroup[{int(count / 2)}]" + "{" + self.categories[c] + "}" + "{exam}\n"
-		return digest+"\t\t%\shufflegroup{exam}\n\t\t%\insertgroup{exam}\n\n"+res
+				digest += f"{tmp}{count} questions for {score} points\n\t\t%\\copygroup[{count}]" + "{" + self.categories[c] + "}" + "{exam}\n"
+		digest += "\t\t\shufflegroup{exam}\n\t\t\insertgroup{exam}\n"
+		digest += f"%{totalq} questions for a total of {totalpoints} points\n"
+		if model==None:
+			model = path[0]+"/model.tex"
+		f = open(model, "r")
+		model = f.read()
+		f.close()
+		output_f = open(output_path[:-7]+".tex", "w")
+		output_f.write(model.replace("\\begin{document}","\\begin{document}\n\\input{"+output_path+"}").replace("%%%Exam content%%%", digest))
+		output_f.close()
 
 	def save(self):
 		name = self.file_name[self.file_name.rfind('/')+1:self.file_name.rfind('.')]
-		output = open(self.folder+"/"+name+".tex", "w")
+		output = open(self.folder+name+".db.tex", "w")
 		output.write(self.__str__())
+		output.close()
+		self.get_exam(self.folder+name+".db.tex")
 
 class Question:
 	def __init__(self,xmlQ,c,n,f,x,r=False):
diff --git a/model.tex b/model.tex
new file mode 100644
index 0000000000000000000000000000000000000000..a7339f4d9d65fc2d465e9e461b823bcd200f2bfb
--- /dev/null
+++ b/model.tex
@@ -0,0 +1,29 @@
+\documentclass{Exam-QCM} %perso
+\usepackage[utf8x]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[lang=EN,box,completemulti]{automultiplechoice}%multiple choice
+\usepackage[french,english]{babel}
+\PrerenderUnicode{°—}%pour les en-têtes
+\usepackage{commandesPerso} %perso contains \multiling
+\title{TODO}
+\subtitle{TODO}
+\author{TODO}
+\public{TODO}
+\institution{TODO}
+\date{TODO}
+\docs{Tous documents papier autorisés.}
+\noteMax{20}
+%\xtraComment{}
+\qrm
+\id
+\duree{90}
+\begin{document}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%  Composition de l'examen  %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+	\begin{examcopy}[1]
+		\maketitle %en-têtes
+		%%%Exam content%%%
+		\AMCcleardoublepage%Pour l'impression recto-verso
+	\end{examcopy}
+\end{document}