Skip to content

Commit

Permalink
Merge pull request #3 from yannis-mlgrn/2_Make-menu
Browse files Browse the repository at this point in the history
Add a config menu
  • Loading branch information
yannis-mlgrn authored Oct 20, 2024
2 parents 98247fb + daafce0 commit f8fb737
Show file tree
Hide file tree
Showing 9 changed files with 64 additions and 23 deletions.
12 changes: 7 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Fichiers LaTeX générés
QCphysique.aux
QCphysique.fdb_latexmk
QCphysique.fls
QCphysique.log
QCphysique.synctex.gz
*.aux
*.fdb_latexmk
*.fls
*.log
*.synctex.gz
Test-de-connaissance.pdf
Test-de-connaissance.tex
5 changes: 1 addition & 4 deletions Cours/PartieB/CHAPB4-Le_champ_magnetostatique.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@ \section*{\centering Chapitre B4 : Le champ magnétostatique}
\begin{enumerate}[label=\arabic{enumi} - , left=0pt, itemsep=1em] % Personnalisation de la numérotation
\item Donner le ou les type(s) de sources possible pour un champ magnétostatique. \par
\begin{solution}
\begin{itemize}
\item Aimants
\item Courrants
\end{itemize}
Aimants, Courrants
\end{solution}

\item Définition du courrant.\par
Expand Down
18 changes: 10 additions & 8 deletions Cours/PartieC/CHAPC1-Statique_des_fluides.tex
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@ \section*{\centering Chapitre C1 : Statique des fluides}
les forces surfaciques sont les forces qui s'exercent sur la surface de la particule de fluide
\[ \overrightarrow{dF}_{fluide-int \to fluide-ext} = P(M) \vec{dS}\]

\begin{itemize}
\tiny\item P : pression en Pa
\tiny\item P(M) : champ scalaire positif
\end{itemize}
\tiny P : pression en Pa \par
\tiny P(M) : champ scalaire positif
\end{solution}

\item $\textbf{Démonstration :}$ Etablir la relation fondamentale de la statique des fluides.\par
Expand All @@ -41,10 +39,8 @@ \section*{\centering Chapitre C1 : Statique des fluides}
\item Donner l'expression de la poussée d'archimède. \par
\begin{solution}
\[ \vec{\pi_A} = -\oint_{M \in S} P(M) \cdot \vec{dS} \]
\begin{itemize}
\tiny\item S : surface de l'objet
\tiny\item $\vec{dS}$ : orienté par la normale sortante
\end{itemize}
\tiny S : surface de l'objet \par
\tiny $\vec{dS}$ : orienté par la normale sortante
\end{solution}

\item Enoncer et donner l'expression du théorème d'archimède. \par
Expand All @@ -64,6 +60,12 @@ \section*{\centering Chapitre C1 : Statique des fluides}

\end{solution}

\item $\textbf{Démonstration :}$ Donner l'expression de P(z) qui traduit la variation de la pression avec l'altitude.\par
\begin{solution}
\[P(z) = Po \times \exp(- \frac{M_{air}g}{RT}z) \]

\end{solution}

\item Énoncer le théorème de Pascal. \par
\begin{solution}
Les fluides imcompressibles transmettent intégralement les variations de préssion : $\Delta P' = \Delta P $
Expand Down
Binary file renamed QCphysique.pdf → Output/QCphysique.pdf
Binary file not shown.
6 changes: 3 additions & 3 deletions QCphysique.tex → Output/QCphysique.tex
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
%Affichage des questions de cours
% Partie B
\section*{\centering\huge Partie B : Electronique et electromagnétisme}
\subfile{Cours/PartieB/CHAPB1-Le_champ_electrostatique}
\subfile{Cours/PartieB/CHAPB4-Le_champ_magnetostatique}
\subfile{../Cours/PartieB/CHAPB1-Le_champ_electrostatique}
\subfile{../Cours/PartieB/CHAPB4-Le_champ_magnetostatique}
% Partie C
\section*{\centering\huge Partie C : Thermodynamique et mécanique des fluides appliquées aux machines thermiques}
\subfile{Cours/PartieC/CHAPC1-Statique_des_fluides}
\subfile{../Cours/PartieC/CHAPC1-Statique_des_fluides}
\end{document}
Binary file not shown.
Binary file not shown.
7 changes: 4 additions & 3 deletions generateurEvalCours.py → scripts/generateurEvalCours.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def create_and_build_latex(latex_filenames, num_questions=None):
\end{{document}}
"""

filename = "Test-de-connaissance.tex"
filename = "../Output/Test-de-connaissance.tex"

# Créer le fichier LaTeX
with open(filename, "w") as f:
Expand Down Expand Up @@ -94,12 +94,13 @@ def extract_questions(latex_code_input):
return questions

def build_latex(filename: str):
output_directory = '../Output/'
try:
# Compiler le fichier LaTeX avec pdflatex
subprocess.run(["pdflatex", "-interaction=nonstopmode", filename], check=True)
subprocess.run(["pdflatex", "-interaction=nonstopmode", "-output-directory",output_directory, filename], check=True)

# Si le fichier contient des sous-fichiers, il est recommandé de relancer la compilation
subprocess.run(["pdflatex", "-interaction=nonstopmode", filename], check=True)
subprocess.run(["pdflatex", "-interaction=nonstopmode", "-output-directory", output_directory, filename], check=True)

print(f"Compilation de {filename} terminée avec succès.")
except subprocess.CalledProcessError:
Expand Down
39 changes: 39 additions & 0 deletions scripts/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import generateurEvalCours
from InquirerPy import inquirer
from InquirerPy.separator import Separator

def chaptersChoice(_):
return [
"Chapitre B1 - Le champ electrostatique",
"Chapitre B4 - Le champ magnétostatique",
Separator(),
"Chapitre C1 - Statique des fluides",
]

def main() :
chapters = inquirer.checkbox(
message="Selectionner le ou les chapitres à réviser",
choices=chaptersChoice,
validate=lambda result: len(result) >= 1,
invalid_message="Vous devez selectionner au moins 1 chapitre",
instruction="(selectionner au moins 1 chapitre)",
).execute()
chapters = createListPath(chapters)

nombresDeQuestions = inquirer.number(message="Nombres de question:", default=0, instruction="(Toutes les questions : 0)").execute()
if nombresDeQuestions == '0' : # Je sais c'est sale mais ça marge (à modifier)
nombresDeQuestions = 9999
generateurEvalCours.create_and_build_latex(chapters, int(nombresDeQuestions))

def createListPath(L: list) -> list:
chapter_paths = {
'Chapitre B1 - Le champ electrostatique': '../Cours/PartieB/CHAPB1-Le_champ_electrostatique.tex',
'Chapitre B4 - Le champ magnétostatique': '../Cours/PartieB/CHAPB4-Le_champ_magnetostatique.tex',
'Chapitre C1 - Statique des fluides': '../Cours/PartieC/CHAPC1-Statique_des_fluides.tex',
}
return [chapter_paths[chapter] for chapter in L if chapter in chapter_paths]



if __name__ == "__main__":
main()

0 comments on commit f8fb737

Please sign in to comment.