Compare commits
5 Commits
master
...
correction
Author | SHA1 | Date | |
---|---|---|---|
|
52a5fb68b5 | ||
|
b99839088b | ||
|
aa0f9aab77 | ||
|
a644fd2584 | ||
|
23b2c9ebce |
|
@ -218,6 +218,17 @@ def get_code_latex_avis_etudiant(
|
|||
return code
|
||||
|
||||
|
||||
def get_annotations(etudids, tag_annotation_pe):
|
||||
annotations = {} # etudid -> ( general, [ ecole -> specifique ] )
|
||||
ecoles = set()
|
||||
for etudid in etudids: # parcours des étudiants
|
||||
generale, specifiques = get_annotation_PE(etudid, tag_annotation_pe)
|
||||
annotations[etudid] = (generale, specifiques)
|
||||
for ecole in specifiques.keys():
|
||||
ecoles.add(ecole)
|
||||
return ecoles, annotations
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------------------
|
||||
def get_annotation_PE(etudid, tag_annotation_pe):
|
||||
"""Renvoie l'annotation PE dans la liste de ces annotations ;
|
||||
|
@ -225,6 +236,8 @@ def get_annotation_PE(etudid, tag_annotation_pe):
|
|||
(cf. .get_preferences -> pe_tag_annotation_avis_latex).
|
||||
|
||||
Result: chaine unicode
|
||||
patch JMP
|
||||
Result: <generale> { <ecole> : wspecifique> }
|
||||
"""
|
||||
if tag_annotation_pe:
|
||||
cnx = ndb.GetDBConnexion()
|
||||
|
@ -255,8 +268,14 @@ def get_annotation_PE(etudid, tag_annotation_pe):
|
|||
annotationPE = annotationPE.replace(
|
||||
"<br/>", "\n\n"
|
||||
) # Interprète les retours chariots html
|
||||
return annotationPE
|
||||
return "" # pas d'annotations
|
||||
splitted = annotationPE.split("@")
|
||||
generale = splitted[0]
|
||||
specifiques = {}
|
||||
for slice in splitted[1:]:
|
||||
ecole, specifique = slice.split(":", 1)
|
||||
specifiques[ecole] = specifique
|
||||
return generale, specifiques
|
||||
return "", {} # pas d'annotations
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------------------
|
||||
|
@ -381,22 +400,58 @@ def get_bilanParTag(donnees_etudiant, groupe="groupe"):
|
|||
return code_latex
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------------------
|
||||
def get_avis_poursuite_par_etudiant(
|
||||
jury, etudid, template_latex, tag_annotation_pe, footer_latex, prefs
|
||||
):
|
||||
if pe_tools.PE_DEBUG:
|
||||
pe_tools.pe_print(
|
||||
"avis etudiant: " + jury.syntheseJury[etudid]["nom"] + " " + str(etudid)
|
||||
)
|
||||
|
||||
generale, specifiques = get_annotation_PE(etudid, tag_annotation_pe)
|
||||
results = []
|
||||
if len(specifiques) == 0:
|
||||
annotation = generale
|
||||
results.append(
|
||||
get_avis_poursuite_par_candidature(
|
||||
jury, template_latex, footer_latex, prefs, etudid, annotation
|
||||
)
|
||||
)
|
||||
else:
|
||||
for ecole, specifique in specifiques.items():
|
||||
annotation = f"{generale}\n{ecole}:{specifique}"
|
||||
results.append(
|
||||
get_avis_poursuite_par_candidature(
|
||||
jury, template_latex, footer_latex, prefs, etudid, annotation, ecole
|
||||
)
|
||||
)
|
||||
return results
|
||||
|
||||
|
||||
# candidature = etudiant x ecole
|
||||
# ----------------------------------------------------------------------------------------
|
||||
def get_avis_poursuite_par_candidature(
|
||||
jury, template_latex, footer_latex, prefs, etudid, annotation, ecole=""
|
||||
):
|
||||
"""Renvoie un nom de fichier et le contenu de l'avis latex d'un étudiant dont l'etudid est fourni.
|
||||
result: [ chaine unicode, chaine unicode ]
|
||||
"""
|
||||
if pe_tools.PE_DEBUG:
|
||||
pe_tools.pe_print(jury.syntheseJury[etudid]["nom"] + " " + str(etudid))
|
||||
pe_tools.pe_print(
|
||||
"avis candidature: "
|
||||
+ jury.syntheseJury[etudid]["nom"]
|
||||
+ " "
|
||||
+ str(etudid)
|
||||
+ " "
|
||||
+ ecole
|
||||
)
|
||||
|
||||
civilite_str = jury.syntheseJury[etudid]["civilite_str"]
|
||||
nom = jury.syntheseJury[etudid]["nom"].replace(" ", "-")
|
||||
prenom = jury.syntheseJury[etudid]["prenom"].replace(" ", "-")
|
||||
|
||||
nom_fichier = scu.sanitize_filename(
|
||||
"avis_poursuite_%s_%s_%s" % (nom, prenom, etudid)
|
||||
"avis_poursuite_%s_%s_%s_%s" % (nom, prenom, etudid, ecole)
|
||||
)
|
||||
if pe_tools.PE_DEBUG:
|
||||
pe_tools.pe_print("fichier latex =" + nom_fichier, type(nom_fichier))
|
||||
|
@ -406,19 +461,14 @@ def get_avis_poursuite_par_etudiant(
|
|||
"%% ---- Etudiant: " + civilite_str + " " + nom + " " + prenom + "\n"
|
||||
)
|
||||
|
||||
# les annnotations
|
||||
annotationPE = get_annotation_PE(etudid, tag_annotation_pe=tag_annotation_pe)
|
||||
if pe_tools.PE_DEBUG:
|
||||
pe_tools.pe_print(annotationPE, type(annotationPE))
|
||||
|
||||
# le LaTeX
|
||||
avis = get_code_latex_avis_etudiant(
|
||||
jury.syntheseJury[etudid], template_latex, annotationPE, footer_latex, prefs
|
||||
jury.syntheseJury[etudid], template_latex, annotation, footer_latex, prefs
|
||||
)
|
||||
# if pe_tools.PE_DEBUG: pe_tools.pe_print(avis, type(avis))
|
||||
contenu_latex += avis + "\n"
|
||||
|
||||
return [nom_fichier, contenu_latex]
|
||||
return nom_fichier, contenu_latex
|
||||
|
||||
|
||||
def get_templates_from_distrib(template="avis"):
|
||||
|
@ -472,12 +522,16 @@ def table_syntheseAnnotationPE(syntheseJury, tag_annotation_pe):
|
|||
maxParcours = max(
|
||||
[syntheseJury[etudid]["nbSemestres"] for etudid in etudids]
|
||||
) # le nombre de semestre le + grand
|
||||
# calcul de l'inventaire des annotations
|
||||
ecoles, annotations = get_annotations(etudids, tag_annotation_pe)
|
||||
|
||||
infos = ["civilite", "nom", "prenom", "age", "nbSemestres"]
|
||||
entete = ["etudid"]
|
||||
entete.extend(infos)
|
||||
entete.extend(["P%d" % i for i in range(1, maxParcours + 1)]) # ajout du parcours
|
||||
entete.append("Annotation PE")
|
||||
for ecole in sorted(ecoles):
|
||||
entete.append(ecole)
|
||||
columns_ids = entete # les id et les titres de colonnes sont ici identiques
|
||||
titles = {i: i for i in columns_ids}
|
||||
|
||||
|
@ -502,8 +556,10 @@ def table_syntheseAnnotationPE(syntheseJury, tag_annotation_pe):
|
|||
n += 1
|
||||
|
||||
# L'annotation PE
|
||||
annotationPE = get_annotation_PE(etudid, tag_annotation_pe=tag_annotation_pe)
|
||||
row["Annotation PE"] = annotationPE if annotationPE else ""
|
||||
generale, specifiques = annotations[etudid]
|
||||
row["Annotation PE"] = generale
|
||||
for ecole in sorted(ecoles):
|
||||
row[ecole] = specifiques.get(ecole, "")
|
||||
rows.append(row)
|
||||
|
||||
T = GenTable(
|
||||
|
|
|
@ -623,7 +623,7 @@ class JuryPE(object):
|
|||
u" - %d étudiants classés " % (nbinscrit)
|
||||
+ ": "
|
||||
+ ",".join(
|
||||
[etudid for etudid in self.semTagDict[fid].get_etudids()]
|
||||
[str(etudid) for etudid in self.semTagDict[fid].get_etudids()]
|
||||
)
|
||||
)
|
||||
if lesEtudidsManquants:
|
||||
|
@ -631,7 +631,7 @@ class JuryPE(object):
|
|||
u" - dont %d étudiants manquants ajoutés aux données du jury"
|
||||
% (len(lesEtudidsManquants))
|
||||
+ ": "
|
||||
+ ", ".join(lesEtudidsManquants)
|
||||
+ ", ".join(str(lesEtudidsManquants))
|
||||
)
|
||||
pe_tools.pe_print(u" - Export csv")
|
||||
filename = self.NOM_EXPORT_ZIP + self.semTagDict[fid].nom + ".csv"
|
||||
|
|
|
@ -265,7 +265,7 @@ class TableTag(object):
|
|||
for etudid in self.identdict:
|
||||
descr = delim.join(
|
||||
[
|
||||
etudid,
|
||||
str(etudid),
|
||||
self.identdict[etudid]["nom"],
|
||||
self.identdict[etudid]["prenom"],
|
||||
]
|
||||
|
|
|
@ -48,7 +48,7 @@ import app.scodoc.sco_utils as scu
|
|||
from app import log
|
||||
from app.scodoc.sco_logos import find_logo
|
||||
|
||||
PE_DEBUG = 0
|
||||
PE_DEBUG = 1
|
||||
|
||||
if not PE_DEBUG:
|
||||
# log to notes.log
|
||||
|
@ -56,6 +56,7 @@ if not PE_DEBUG:
|
|||
# kw is ignored. log always add a newline
|
||||
log(" ".join(a))
|
||||
|
||||
|
||||
else:
|
||||
pe_print = print # print function
|
||||
|
||||
|
@ -203,12 +204,12 @@ def add_pe_stuff_to_zip(zipfile, ziproot):
|
|||
add_local_file_to_zip(zipfile, ziproot, pathname, "avis/" + filename)
|
||||
|
||||
# Logos: (add to logos/ directory in zip)
|
||||
logos_names = ["header", "footer"]
|
||||
logos_names = ["header", "footer", "IUT_LILLE"]
|
||||
for name in logos_names:
|
||||
logo = find_logo(logoname=name, dept_id=g.scodoc_dept_id)
|
||||
if logo is not None:
|
||||
add_local_file_to_zip(
|
||||
zipfile, ziproot, logo.filepath, "avis/logos/" + logo.filename
|
||||
zipfile, ziproot, logo.filepath, "avis/logos/logo_" + logo.filename
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -145,14 +145,15 @@ def pe_view_sem_recap(
|
|||
|
||||
latex_pages = {} # Dictionnaire de la forme nom_fichier => contenu_latex
|
||||
for etudid in etudids:
|
||||
[nom_fichier, contenu_latex] = pe_avislatex.get_avis_poursuite_par_etudiant(
|
||||
for fichier_latex in pe_avislatex.get_avis_poursuite_par_etudiant(
|
||||
jury,
|
||||
etudid,
|
||||
template_latex,
|
||||
tag_annotation_pe,
|
||||
footer_latex,
|
||||
prefs,
|
||||
)
|
||||
):
|
||||
nom_fichier, contenu_latex = fichier_latex
|
||||
jury.add_file_to_zip("avis/" + nom_fichier + ".tex", contenu_latex)
|
||||
latex_pages[nom_fichier] = contenu_latex # Sauvegarde dans un dico
|
||||
|
||||
|
|
164
tools/doc_poursuites_etudes/distrib/modeles/un_avis.old.tex
Normal file
164
tools/doc_poursuites_etudes/distrib/modeles/un_avis.old.tex
Normal file
|
@ -0,0 +1,164 @@
|
|||
%% Original : Cléo BARAS
|
||||
%%
|
||||
%% Template LaTeX des avis
|
||||
%%
|
||||
%% Version 1.0
|
||||
%%
|
||||
%% Ce fichier est distribué par ScoDoc
|
||||
%%
|
||||
%% Si vous voulez le modifier sur le serveur, copiez le dans
|
||||
%% ../local/
|
||||
%% et éditez votre copie dans local.
|
||||
%%
|
||||
|
||||
|
||||
% Ce document est n'est pas utilisé si le paramètre eTemplate LaTeX des avis" est rempli.
|
||||
|
||||
% ************************************************************
|
||||
% En-tête de l'avis
|
||||
% ************************************************************
|
||||
\begin{entete}{logos/header}
|
||||
\textbf{\Huge{Avis de Poursuites d'Etudes}} \\
|
||||
\ligne \\
|
||||
\normalsize{Département **DeptFullName**} \\
|
||||
\normalsize{**InstituteName**} \\
|
||||
\end{entete}
|
||||
|
||||
\begin{nom}
|
||||
**sexe** **prenom** **nom** (**age** ans)
|
||||
\end{nom}
|
||||
|
||||
% ************************************************************
|
||||
% Parcours scolaire de l'étudiant
|
||||
% ************************************************************
|
||||
|
||||
\begin{rubrique}{Parcours scolaire}
|
||||
|
||||
% TIMELINE
|
||||
**parcourstimeline**
|
||||
|
||||
{
|
||||
\scriptsize
|
||||
\textbf{Guide de lecture} :
|
||||
$\bullet$ Les options de la formation: FI = initiale, UFA = alternance (contrat pro), ENEPS = École nationale de l'enseignement professionnel supérieur
|
||||
}
|
||||
\end{rubrique}
|
||||
|
||||
% ************************************************************
|
||||
% Bilan scolaire
|
||||
% ************************************************************
|
||||
|
||||
\begin{rubrique}{Bilan scolaire synthétique}
|
||||
|
||||
|
||||
\begin{tabular}{|p{0.08\textwidth}|p{0.11\textwidth}|*{8}{p{0.07\textwidth}|}}
|
||||
% Titres des colonnes
|
||||
\hline & \textbf{Resultats} & \multicolumn{4}{c|}{\textbf{Dans le groupe}\textdagger}
|
||||
& \multicolumn{4}{c|}{\textbf{Dans la promo}\textdagger} \\
|
||||
& & Class. & Min & Moy & Max
|
||||
& Class. & Min & Moy & Max \\
|
||||
\hline
|
||||
\hline S1 & **S1:groupe:dut:note** & **S1:groupe:dut:rang**
|
||||
& {\scriptsize **S1:groupe:dut:min**}
|
||||
& {\scriptsize **S1:groupe:dut:moy**}
|
||||
& {\scriptsize **S1:groupe:dut:max**}
|
||||
& **S1:promo:dut:rang**
|
||||
& {\scriptsize **S1:promo:dut:min**}
|
||||
& {\scriptsize **S1:promo:dut:moy**}
|
||||
& {\scriptsize **S1:promo:dut:max**} \\
|
||||
\hline S2 & **S2:groupe:dut:note** & **S2:groupe:dut:rang**
|
||||
& {\scriptsize **S2:groupe:dut:min**}
|
||||
& {\scriptsize **S2:groupe:dut:moy**}
|
||||
& {\scriptsize **S2:groupe:dut:max**}
|
||||
& **S2:promo:dut:rang**
|
||||
& {\scriptsize **S2:promo:dut:min**}
|
||||
& {\scriptsize **S2:promo:dut:moy**}
|
||||
& {\scriptsize **S2:promo:dut:max**} \\
|
||||
\hline
|
||||
\hline \cellcolor{black!20} 1A & **1A:groupe:dut:note** & **1A:groupe:dut:rang**
|
||||
& {\scriptsize **1A:groupe:dut:min**}
|
||||
& {\scriptsize **1A:groupe:dut:moy**}
|
||||
& {\scriptsize **1A:groupe:dut:max**}
|
||||
& **1A:promo:dut:rang**
|
||||
& {\scriptsize **1A:promo:dut:min**}
|
||||
& {\scriptsize **1A:promo:dut:moy**}
|
||||
& {\scriptsize **1A:promo:dut:max**} \\
|
||||
\hline
|
||||
\hline S3 & **S3:groupe:dut:note** & **S3:groupe:dut:rang**
|
||||
& {\scriptsize **S3:groupe:dut:min**}
|
||||
& {\scriptsize **S3:groupe:dut:moy**}
|
||||
& {\scriptsize **S3:groupe:dut:max**}
|
||||
& **S3:promo:dut:rang**
|
||||
& {\scriptsize **S3:promo:dut:min**}
|
||||
& {\scriptsize **S3:promo:dut:moy**}
|
||||
& {\scriptsize **S3:promo:dut:max**} \\
|
||||
\hline S4* & **S4:groupe:dut:note** & **S4:groupe:dut:rang**
|
||||
& {\scriptsize **S4:groupe:dut:min**}
|
||||
& {\scriptsize **S4:groupe:dut:moy**}
|
||||
& {\scriptsize **S4:groupe:dut:max**}
|
||||
& **S4:promo:dut:rang**
|
||||
& {\scriptsize **S4:promo:dut:min**}
|
||||
& {\scriptsize **S4:promo:dut:moy**}
|
||||
& {\scriptsize **S4:promo:dut:max**} \\
|
||||
\hline
|
||||
\hline \cellcolor{black!20} 2A* & **2A:groupe:dut:note** & **2A:groupe:dut:rang**
|
||||
& {\scriptsize **2A:groupe:dut:min**}
|
||||
& {\scriptsize **2A:groupe:dut:moy**}
|
||||
& {\scriptsize **2A:groupe:dut:max**}
|
||||
& **2A:promo:dut:rang**
|
||||
& {\scriptsize **2A:promo:dut:min**}
|
||||
& {\scriptsize **2A:promo:dut:moy**}
|
||||
& {\scriptsize **2A:promo:dut:max**} \\
|
||||
\hline
|
||||
\hline DUT* & **4S:groupe:dut:note** & **4S:groupe:dut:rang**
|
||||
& {\scriptsize **4S:groupe:dut:min**}
|
||||
& {\scriptsize **4S:groupe:dut:moy**}
|
||||
& {\scriptsize **4S:groupe:dut:max**}
|
||||
& **4S:promo:dut:rang**
|
||||
& {\scriptsize **4S:promo:dut:min**}
|
||||
& {\scriptsize **4S:promo:dut:moy**}
|
||||
& {\scriptsize **4S:promo:dut:max**} \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\begin{minipage}{\textwidth}
|
||||
\scriptsize
|
||||
\textbf{Guide de lecture} : * Sur notes disponibles ; \textdagger~Le groupe est l'ensemble des étudiants ayant suivi le même semestre que **prenom** **nom** alors que la promo est l'ensemble des étudiants recevant le diplôme de DUT à la même date que **prenom** **nom** (ayant donc des parcours potentiellement différents)
|
||||
\end{minipage}
|
||||
|
||||
\end{rubrique}
|
||||
|
||||
% ************************************************************
|
||||
% Avis de poursuite d'études manuscrit ou saisi dans les
|
||||
% annotations de l'étudiant
|
||||
% ************************************************************
|
||||
|
||||
\begin{rubrique}{Avis du jury de Poursuites d'Etudes}
|
||||
**annotation**
|
||||
\end{rubrique}
|
||||
|
||||
\newpage % Saut de page
|
||||
% ------------------------------------------------------------
|
||||
|
||||
% ************************************************************
|
||||
% Bilan automatisé par matières
|
||||
% ************************************************************
|
||||
|
||||
\begin{rubrique}{Bilan par matières}
|
||||
**bilanParTag**
|
||||
\end{rubrique}
|
||||
|
||||
% ************************************************************
|
||||
% Signature
|
||||
% ************************************************************
|
||||
|
||||
\begin{rubrique}{Cachet de l'établissement}
|
||||
\begin{flushright}
|
||||
Le~\today,\\
|
||||
**NomResponsablePE**~\\
|
||||
\textit{Responsable des Poursuites d'Études du département **DeptName**}
|
||||
\end{flushright}
|
||||
\vspace{0.5cm}
|
||||
\end{rubrique}
|
||||
|
||||
% Le pied de page (indiqué dans les paramètres ScoDoc) vient après cette ligne
|
|
@ -1,164 +1,178 @@
|
|||
%% Original : Cléo BARAS
|
||||
%%
|
||||
%% Template LaTeX des avis
|
||||
%% Deux tableaux sur deux pages
|
||||
%%
|
||||
%% Version 1.0
|
||||
%%
|
||||
%% Ce fichier est distribué par ScoDoc
|
||||
%%
|
||||
%% Si vous voulez le modifier sur le serveur, copiez le dans
|
||||
%% ../local/
|
||||
%% et éditez votre copie dans local.
|
||||
%%
|
||||
|
||||
|
||||
% Ce document est n'est pas utilisé si le paramètre eTemplate LaTeX des avis" est rempli.
|
||||
|
||||
% ************************************************************
|
||||
% En-tête de l'avis
|
||||
\begin{entete}{logos/logo_IUT_Lille}
|
||||
\textbf{\Huge{Avis de Poursuites d'Etudes}} \\
|
||||
\ligne \\
|
||||
\normalsize{Département **DeptFullName**} \\
|
||||
\normalsize{**InstituteName**} \\
|
||||
\end{entete}\\
|
||||
% ************************************************************
|
||||
\begin{entete}{logos/header}
|
||||
\textbf{\Huge{Avis de Poursuites d'Etudes}} \\
|
||||
\ligne \\
|
||||
\normalsize{Département **DeptFullName**} \\
|
||||
\normalsize{**InstituteName**} \\
|
||||
\end{entete}
|
||||
|
||||
\begin{nom}
|
||||
**sexe** **prenom** **nom** (**age** ans)
|
||||
\end{nom}
|
||||
|
||||
\end{nom}\\
|
||||
% ************************************************************
|
||||
% Parcours scolaire de l'étudiant
|
||||
% ************************************************************
|
||||
|
||||
\begin{rubrique}{Parcours scolaire}
|
||||
|
||||
% TIMELINE
|
||||
**parcourstimeline**
|
||||
|
||||
{
|
||||
\scriptsize
|
||||
\textbf{Guide de lecture} :
|
||||
$\bullet$ Les options de la formation: FI = initiale, UFA = alternance (contrat pro), ENEPS = École nationale de l'enseignement professionnel supérieur
|
||||
}
|
||||
\end{rubrique}
|
||||
|
||||
% ************************************************************
|
||||
% Bilan scolaire
|
||||
% ************************************************************
|
||||
|
||||
\begin{rubrique}{Bilan scolaire synthétique}
|
||||
|
||||
|
||||
\begin{tabular}{|p{0.08\textwidth}|p{0.11\textwidth}|*{8}{p{0.07\textwidth}|}}
|
||||
\begin{tabular}{|p{0.11\textwidth}|p{0.11\textwidth}|*{8}{p{0.065\textwidth}|}}
|
||||
% Titres des colonnes
|
||||
\hline & \textbf{Resultats} & \multicolumn{4}{c|}{\textbf{Dans le groupe}\textdagger}
|
||||
& \multicolumn{4}{c|}{\textbf{Dans la promo}\textdagger} \\
|
||||
& & Class. & Min & Moy & Max
|
||||
& Class. & Min & Moy & Max \\
|
||||
\hline
|
||||
\hline S1 & **S1:groupe:dut:note** & **S1:groupe:dut:rang**
|
||||
& {\scriptsize **S1:groupe:dut:min**}
|
||||
& {\scriptsize **S1:groupe:dut:moy**}
|
||||
& {\scriptsize **S1:groupe:dut:max**}
|
||||
& **S1:promo:dut:rang**
|
||||
& {\scriptsize **S1:promo:dut:min**}
|
||||
& {\scriptsize **S1:promo:dut:moy**}
|
||||
& {\scriptsize **S1:promo:dut:max**} \\
|
||||
\hline S2 & **S2:groupe:dut:note** & **S2:groupe:dut:rang**
|
||||
& {\scriptsize **S2:groupe:dut:min**}
|
||||
& {\scriptsize **S2:groupe:dut:moy**}
|
||||
& {\scriptsize **S2:groupe:dut:max**}
|
||||
& **S2:promo:dut:rang**
|
||||
& {\scriptsize **S2:promo:dut:min**}
|
||||
& {\scriptsize **S2:promo:dut:moy**}
|
||||
& {\scriptsize **S2:promo:dut:max**} \\
|
||||
& & \multicolumn{4}{c|}{\textbf{Dans le groupe}\textdagger}
|
||||
& \multicolumn{4}{c|}{\textbf{Dans la promotion}\textdagger} \\
|
||||
Semestres & Résultats & Class. & Min & Moy & Max
|
||||
& Class. & Min & Moy & Max \\
|
||||
\hline
|
||||
\hline \cellcolor{black!20} 1A & **1A:groupe:dut:note** & **1A:groupe:dut:rang**
|
||||
& {\scriptsize **1A:groupe:dut:min**}
|
||||
& {\scriptsize **1A:groupe:dut:moy**}
|
||||
& {\scriptsize **1A:groupe:dut:max**}
|
||||
& **1A:promo:dut:rang**
|
||||
& {\scriptsize **1A:promo:dut:min**}
|
||||
& {\scriptsize **1A:promo:dut:moy**}
|
||||
& {\scriptsize **1A:promo:dut:max**} \\
|
||||
\hline S1
|
||||
& **S1:groupe:dut:note**
|
||||
& {\scriptsize **S1:groupe:dut:rang**}
|
||||
& {\scriptsize **S1:groupe:dut:min**}
|
||||
& {\scriptsize **S1:groupe:dut:moy**}
|
||||
& {\scriptsize **S1:groupe:dut:max**}
|
||||
& {\scriptsize **S1:promo:dut:rang**}
|
||||
& {\scriptsize **S1:promo:dut:min**}
|
||||
& {\scriptsize **S1:promo:dut:moy**}
|
||||
& {\scriptsize **S1:promo:dut:max**} \\
|
||||
\hline S2
|
||||
& **S2:groupe:dut:note**
|
||||
& {\scriptsize **S2:groupe:dut:rang**}
|
||||
& {\scriptsize **S2:groupe:dut:min**}
|
||||
& {\scriptsize **S2:groupe:dut:moy**}
|
||||
& {\scriptsize **S2:groupe:dut:max**}
|
||||
& {\scriptsize **S2:promo:dut:rang**}
|
||||
& {\scriptsize **S2:promo:dut:min**}
|
||||
& {\scriptsize **S2:promo:dut:moy**}
|
||||
& {\scriptsize **S2:promo:dut:max**} \\
|
||||
\hline S3
|
||||
& **S3:groupe:dut:note**
|
||||
& {\scriptsize **S3:groupe:dut:rang**}
|
||||
& {\scriptsize **S3:groupe:dut:min**}
|
||||
& {\scriptsize **S3:groupe:dut:moy**}
|
||||
& {\scriptsize **S3:groupe:dut:max**}
|
||||
& {\scriptsize **S3:promo:dut:rang**}
|
||||
& {\scriptsize **S3:promo:dut:min**}
|
||||
& {\scriptsize **S3:promo:dut:moy**}
|
||||
& {\scriptsize **S3:promo:dut:max**} \\
|
||||
\hline
|
||||
\hline S3 & **S3:groupe:dut:note** & **S3:groupe:dut:rang**
|
||||
& {\scriptsize **S3:groupe:dut:min**}
|
||||
& {\scriptsize **S3:groupe:dut:moy**}
|
||||
& {\scriptsize **S3:groupe:dut:max**}
|
||||
& **S3:promo:dut:rang**
|
||||
& {\scriptsize **S3:promo:dut:min**}
|
||||
& {\scriptsize **S3:promo:dut:moy**}
|
||||
& {\scriptsize **S3:promo:dut:max**} \\
|
||||
\hline S4* & **S4:groupe:dut:note** & **S4:groupe:dut:rang**
|
||||
& {\scriptsize **S4:groupe:dut:min**}
|
||||
& {\scriptsize **S4:groupe:dut:moy**}
|
||||
& {\scriptsize **S4:groupe:dut:max**}
|
||||
& **S4:promo:dut:rang**
|
||||
& {\scriptsize **S4:promo:dut:min**}
|
||||
& {\scriptsize **S4:promo:dut:moy**}
|
||||
& {\scriptsize **S4:promo:dut:max**} \\
|
||||
\hline
|
||||
\hline \cellcolor{black!20} 2A* & **2A:groupe:dut:note** & **2A:groupe:dut:rang**
|
||||
& {\scriptsize **2A:groupe:dut:min**}
|
||||
& {\scriptsize **2A:groupe:dut:moy**}
|
||||
& {\scriptsize **2A:groupe:dut:max**}
|
||||
& **2A:promo:dut:rang**
|
||||
& {\scriptsize **2A:promo:dut:min**}
|
||||
& {\scriptsize **2A:promo:dut:moy**}
|
||||
& {\scriptsize **2A:promo:dut:max**} \\
|
||||
\hline
|
||||
\hline DUT* & **4S:groupe:dut:note** & **4S:groupe:dut:rang**
|
||||
& {\scriptsize **4S:groupe:dut:min**}
|
||||
& {\scriptsize **4S:groupe:dut:moy**}
|
||||
& {\scriptsize **4S:groupe:dut:max**}
|
||||
& **4S:promo:dut:rang**
|
||||
& {\scriptsize **4S:promo:dut:min**}
|
||||
& {\scriptsize **4S:promo:dut:moy**}
|
||||
& {\scriptsize **4S:promo:dut:max**} \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\begin{minipage}{\textwidth}
|
||||
\end{tabular}\\
|
||||
\begin{minipage}{0.9\textwidth}
|
||||
\scriptsize
|
||||
\textbf{Guide de lecture} : * Sur notes disponibles ; \textdagger~Le groupe est l'ensemble des étudiants ayant suivi le même semestre que **prenom** **nom** alors que la promo est l'ensemble des étudiants recevant le diplôme de DUT à la même date que **prenom** **nom** (ayant donc des parcours potentiellement différents)
|
||||
\textbf{Guide de lecture} : %* Sur notes disponibles ;
|
||||
\textdagger~Le groupe est l'ensemble des étudiants ayant suivi le même semestre que **prenom** **nom** alors que la promo est l'ensemble des étudiants recevant le diplôme de DUT à la même date que **prenom** **nom** (ayant donc des parcours potentiellement différents)
|
||||
\end{minipage}
|
||||
|
||||
\end{rubrique}
|
||||
|
||||
\end{rubrique}\\
|
||||
% ************************************************************
|
||||
% Avis de poursuite d'études manuscrit ou saisi dans les
|
||||
% annotations de l'étudiant
|
||||
\def\CaseACocher{\ensuremath{\;\begin{tikzpicture} \draw (0,0) rectangle (0.4,0.4); \end{tikzpicture}\;}}
|
||||
\def\cg{\cellcolor{black!20}}
|
||||
% ************************************************************
|
||||
\begin{rubrique}{Avis du jury de Poursuites d'Études}
|
||||
|
||||
\begin{rubrique}{Avis du jury de Poursuites d'Etudes}
|
||||
**annotation**
|
||||
\end{rubrique}
|
||||
|
||||
\newpage % Saut de page
|
||||
% ------------------------------------------------------------
|
||||
|
||||
% ************************************************************
|
||||
% Bilan automatisé par matières
|
||||
\newpage
|
||||
% ************************************************************
|
||||
\begin{rubrique}{Bilan par matières de **sexe** **prenom** **nom** }
|
||||
\begin{center}
|
||||
\def\si#1{\scriptsize \textit{#1}}
|
||||
\begin{tabular}{|p{100mm}||c|c|c|c|}
|
||||
\hline
|
||||
& \textbf{S1} & \textbf{S2} & \textbf{S3} & \textbf{S1+S2+S3} \\
|
||||
\hline\hline
|
||||
\textbf{électrotechnique}
|
||||
& **S1:groupe:electrotechnique:note** & **S2:groupe:electrotechnique:note**
|
||||
& **S3:groupe:electrotechnique:note** & **3S:groupe:electrotechnique:note** \\
|
||||
& \si{**S1:groupe:electrotechnique:rang**} & \si{**S2:groupe:electrotechnique:rang**}
|
||||
& \si{**S3:groupe:electrotechnique:rang**} & \si{**3S:groupe:electrotechnique:rang**} \\
|
||||
\hline
|
||||
\textbf{électronique}
|
||||
& **S1:groupe:electronique:note** & **S2:groupe:electronique:note**
|
||||
& **S3:groupe:electronique:note** & **3S:groupe:electronique:note** \\
|
||||
& \si{**S1:groupe:electronique:rang**} & \si{**S2:groupe:electronique:rang**}
|
||||
& \si{**S3:groupe:electronique:rang**} & \si{**3S:groupe:electronique:rang**} \\
|
||||
\hline
|
||||
\textbf{automatisme et informatique industrielle}
|
||||
& **S1:groupe:automatisme et informatique industrielle:note** & **S2:groupe:automatisme et informatique industrielle:note**
|
||||
& **S3:groupe:automatisme et informatique industrielle:note** & **3S:groupe:automatisme et informatique industrielle:note** \\
|
||||
& \si{**S1:groupe:automatisme et informatique industrielle:rang**} & \si{**S2:groupe:automatisme et informatique industrielle:rang**}
|
||||
& \si{**S3:groupe:automatisme et informatique industrielle:rang**} & \si{**3S:groupe:automatisme et informatique industrielle:rang**} \\
|
||||
\hline
|
||||
\textbf{projets et réalisations}
|
||||
& **S1:groupe:projets et realisations:note** & **S2:groupe:projets et realisations:note**
|
||||
& **S3:groupe:projets et realisations:note** & **3S:groupe:projets et realisations:note** \\
|
||||
& \si{**S1:groupe:projets et realisations:rang**} & \si{**S2:groupe:projets et realisations:rang**}
|
||||
& \si{**S3:groupe:projets et realisations:rang**} & \si{**3S:groupe:projets et realisations:rang**} \\
|
||||
\hline
|
||||
\textbf{connaissances et compétences générales}
|
||||
& **S1:groupe:connaissances et competences generales:note** & **S2:groupe:connaissances et competences generales:note**
|
||||
& **S3:groupe:connaissances et competences generales:note** & **3S:groupe:connaissances et competences generales:note** \\
|
||||
& \si{**S1:groupe:connaissances et competences generales:rang**} & \si{**S2:groupe:connaissances et competences generales:rang**}
|
||||
& \si{**S3:groupe:connaissances et competences generales:rang**} & \si{**3S:groupe:connaissances et competences generales:rang**} \\
|
||||
\hline
|
||||
\textbf{anglais}
|
||||
& **S1:groupe:anglais:note** & **S2:groupe:anglais:note**
|
||||
& **S3:groupe:anglais:note** & **3S:groupe:anglais:note** \\
|
||||
& \si{**S1:groupe:anglais:rang**} & \si{**S2:groupe:anglais:rang**}
|
||||
& \si{**S3:groupe:anglais:rang**} & \si{**3S:groupe:anglais:rang**} \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
\begin{rubrique}{Bilan par matières}
|
||||
**bilanParTag**
|
||||
\end{rubrique}
|
||||
|
||||
% ************************************************************
|
||||
% Signature
|
||||
% ************************************************************
|
||||
|
||||
\vfill
|
||||
%%%%%%%%%%%%%%%%
|
||||
\def\unecaselargescriptsize#1{\multicolumn{2}{l}{{\scriptsize #1}}\\ }
|
||||
\begin{rubrique}{Cachet de l'établissement}
|
||||
\begin{flushright}
|
||||
Le~\today,\\
|
||||
**NomResponsablePE**~\\
|
||||
\textit{Responsable des Poursuites d'Études du département **DeptName**}
|
||||
\end{flushright}
|
||||
\vspace{0.5cm}
|
||||
\vspace{-10mm}
|
||||
\begin{center}
|
||||
\begin{tabular}{|*{2}{p{0.45\textwidth}|}}
|
||||
\hline
|
||||
Pour le Chef du Département
|
||||
&
|
||||
Pour l'administrateur provisoire de l'IUT
|
||||
\\
|
||||
et par délégation,
|
||||
&
|
||||
et par délégation,
|
||||
\\
|
||||
Jocelyne \textsc{Creton Nutten},
|
||||
&
|
||||
Vincent \textsc{Devlaminck},
|
||||
\\
|
||||
\textit{Responsable des Poursuites d'Études }
|
||||
&
|
||||
\textit{chargé de mission}
|
||||
\\
|
||||
\textit{du département GEII}
|
||||
&
|
||||
\textit{en charge de la Scolarité}
|
||||
\\[15mm]
|
||||
&\\ \hline
|
||||
%%%%%%%%%%%%%%%%%
|
||||
\unecaselargescriptsize{
|
||||
IUT A de Lille ---
|
||||
Av Paul Langevin - Cité scientifique - BP 90179 --- 59653 Villeneuve d'Ascq Cedex --- France
|
||||
}
|
||||
\unecaselargescriptsize{
|
||||
\textbf{Secrétariat Département GEII}:
|
||||
}
|
||||
\unecaselargescriptsize{
|
||||
Mme Séverine \textsc{Derenchy}, Tel (+33)3.59.63.21.91, \texttt{severine.derenchy@univ-lille.fr}
|
||||
}
|
||||
\unecaselargescriptsize{
|
||||
\textbf{Responsable Poursuites d'Études Département GEII}:
|
||||
}
|
||||
\unecaselargescriptsize{
|
||||
Mme Jocelyne \textsc{Creton Nutten}, \texttt{Jocelyne.Creton@univ-lille.fr}
|
||||
}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\end{rubrique}
|
||||
|
||||
% Le pied de page (indiqué dans les paramètres ScoDoc) vient après cette ligne
|
||||
% ************************************************************
|
7
tools/doc_poursuites_etudes/distrib/un_footer.old.tex
Normal file
7
tools/doc_poursuites_etudes/distrib/un_footer.old.tex
Normal file
|
@ -0,0 +1,7 @@
|
|||
\begin{minipage}{\textwidth} \scriptsize
|
||||
%IUT exemple - Dpt RT, 3 rue xxx, France
|
||||
|
||||
% \textbf{Secrétariat Poursuite d'Etudes}: Xxx Yyy, Tel 01.02.03.04.05, xxx.yyy@example.com
|
||||
|
||||
% \textbf{Responsables Poursuite d'Etudes RT}: Zzz Wwww, Tel 01.02.03.04.05, zzz.www@example.com
|
||||
\end{minipage}
|
|
@ -1,7 +0,0 @@
|
|||
\begin{minipage}{\textwidth} \scriptsize
|
||||
%IUT exemple - Dpt RT, 3 rue xxx, France
|
||||
|
||||
% \textbf{Secrétariat Poursuite d'Etudes}: Xxx Yyy, Tel 01.02.03.04.05, xxx.yyy@example.com
|
||||
|
||||
% \textbf{Responsables Poursuite d'Etudes RT}: Zzz Wwww, Tel 01.02.03.04.05, zzz.www@example.com
|
||||
\end{minipage}
|
Loading…
Reference in New Issue
Block a user