This commit is contained in:
Cléo Baras 2021-04-07 11:51:19 +02:00
parent 7c9bd04707
commit adeab6f815
48 changed files with 1043 additions and 307 deletions

View File

@ -118,6 +118,13 @@
\newcounter{cptRac\currentRressource\currentRcomp} % le compteur d'ac pour la compétence rattachées à la ressource
}
% ****************************
% Ajout d'un coeff éventuel aux compétences
\def\ajoutRcoeff#1{
\expandafter\xdef\csname Rcoeff\currentRressource\currentRcomp\endcsname{#1} % le nom de la comp
}
% ****************************
% Ajout d'AC aux compétences
\def\ajoutRac#1#2{
@ -133,7 +140,8 @@
\def\ajoutRsae#1#2{
\addtocounter{cptRsae\currentRressource}{1} % le compteur de la sae dans la ressource
\xdef\currentRsae{\Alph{cptRsae\currentRressource}} % La lettre
%\expandafter\xdef\csname Rlinkcode\currentRressource\currentRsae\endcsname{#1}
\expandafter\xdef\csname Rsaecode\currentRressource\currentRsae\endcsname{#1} %
\expandafter\xdef\csname Rsaename\currentRressource\currentRsae\endcsname{#2} %
}
@ -168,6 +176,7 @@
\addtocounter{cptS\currentsemestre}{1} % Ajoute une ressource au semestre
\def\currentSsae{\currentsemestre\Alph{cptsae}} % Ressource RAA = A pour semestre 1 puis A pour ressource n°1
%\expandafter\xdef\csname Slinkcode\currentSsae\endcsname{\currentSsae}
\expandafter\xdef\csname Scode\currentSsae\endcsname{#1} % code
\expandafter\xdef\csname Sname\currentSsae\endcsname{#2} % nom/intitule
\expandafter\xdef\csname Ssem\currentSsae\endcsname{\csname semestrenumero\currentsemestre\endcsname} % nom du semestre
@ -210,6 +219,12 @@
\newcounter{cptSac\currentSsae\currentScomp} % le compteur d'ac pour la compétence rattachées à la ressource
}
% ****************************
% Ajout d'un coeff éventuel aux compétences
\def\ajoutScoeff#1{
\expandafter\xdef\csname Scoeff\currentSsae\currentScomp\endcsname{#1} % le nom de la comp
}
% ****************************
% Ajout d'AC aux compétences
\def\ajoutSac#1#2{
@ -224,7 +239,7 @@
% Ajout des ressources mobilisées par l'étudiant
\def\ajoutSressources#1#2{
\addtocounter{cptSressource\currentSsae}{1} % le compteur de la sae dans la ressource
\xdef\currentSressource{\Alph{cptSressource\currentSsae}} % La lettre
\xdef\currentSressource{\Roman{cptSressource\currentSsae}} % La lettre
\expandafter\xdef\csname Sressourcecode\currentSsae\currentSressource\endcsname{#1} %
\expandafter\xdef\csname Sressourcename\currentSsae\currentSressource\endcsname{#2} %
@ -255,6 +270,7 @@
\expandafter\xdef\csname ESname\currentESsae\endcsname{#1} % nom/intitule
\expandafter\xdef\csname EScode\currentESsae\endcsname{\csname Scode\currentSsae\endcsname} % le code de la SAE
\expandafter\xdef\csname EScodeE\currentESsae\endcsname{\currentESsae} % le code de l'exemple
\expandafter\xdef\csname ESnumero\currentESsae\endcsname{\arabic{cptSexemple\currentSsae}} % le code de l'exemple
% \expandafter\xdef\csname ESsem\currentESsae\endcsname{\csname semestrenumero\currentsemestre\endcsname} % nom du semestre
}

View File

@ -5,6 +5,7 @@
% \affichageSAE{code_semestre} avec code_semestre=A pour le S1, B pour le S2
\newcounter{nosae}
\newcounter{noexemple}
\newcounter{noac}
\newcommand{\affichageSAE}[1]{
\xdef\sem{#1}
@ -21,11 +22,13 @@
\forLoop{1}{\value{cptSexemple\currentSAE}}{noexemple}{
\tableauExempleSAE{\currentSAE}{\Alph{noexemple}}
}
\newpage
}
}
}
% Tableau listant toutes les SAé et leur exemple en guise d'introduction au semestre
\newcommand{\listeTitreSAE}[1]{
\setlength{\tabcolsep}{0.125cm} % Marge des colonnes
\setlength{\extrarowheight}{2pt} % Marge des lignes
@ -37,23 +40,23 @@
%A\Alph{noressource}
\xdef\currentSAE{\sem\Alph{nosae}} % code de la SAE
\xdef\saecode{\csname Scode\currentSAE\endcsname}
\xdef\saelink{\csname Slinkcode\currentSAE\endcsname}
\xdef\saetitre{\csname Sname\currentSAE\endcsname}
{\bfseries \saecode}
{\bfseries \hyperlink{sae:\saecode}{\saecode}}
&
{\bfseries \hyperlink{res:\saecode}{\saetitre}}
{\bfseries {\saetitre}}
\tabularnewline
\forLoop{1}{\value{cptSexemple\currentSAE}}{noexemple}{
\xdef\exemplecode{\currentSAE\Alph{noexemple}}
\xdef\titreexemple{\csname ESname\exemplecode\endcsname}
& {\itshape Exemple \arabic{noexemple}~: \titreexemple}
\ifthenelse{%
\equal{\thenoexemple}{\value{cptSexemple\currentSAE}}}{ %
\tabularnewline\hline
}{%
&
\begin{tabular}{p{13cm}}
\forLoop{1}{\value{cptSexemple\currentSAE}}{noexemple}{
\xdef\exemplecode{\currentSAE\Alph{noexemple}}
\xdef\titreexemple{\csname ESname\exemplecode\endcsname}
\itshape \hyperlink{exemple:\exemplecode}{Exemple \arabic{noexemple}}~: \titreexemple
\tabularnewline
}
}
\end{tabular}
\tabularnewline
\hline
}
\end{tabular}
}
@ -71,9 +74,9 @@
\def\CODE{\sem\Alph{noressource}} % code de la SAE
\xdef\rescode{\csname Rcode\CODE\endcsname}
\xdef\resnom{\csname Rname\CODE\endcsname}
{\bfseries \rescode}
{\bfseries \hyperlink{res:\rescode}{\rescode}}
&
\hyperlink{res:\rescode}{\resnom}
{\resnom}
\tabularnewline
\hline
}

View File

@ -1,4 +1,5 @@
% Les formats de colonnes
\newcolumntype{P}{>{}m{3.6cm}<{}} % Pour la colonne d'entete
@ -25,16 +26,15 @@
% \listeAC{R}{code_ressource}{lettre_competence} pour une ressource
% \listeAC{S}{code_ressource}{lettre_competence} pour une sae
\newcommand*{\listeAC}[3]{%
\newcommand*{\listeAC}[4]{%
\begin{tabular}[t]{@{}C@{}}%
\xdef\TYPE{#1} % R pour ressource, S pour SAE
\xdef\CODE{#2} % le code de la ressource sous la forme AA
\xdef\COMP{#3} % le code de la compétence sous la forme A
\xdef\targetcomp{#4}
\forLoop{1}{\value{cpt\TYPE ac\CODE\COMP}}{noligne}{
\xdef\contenu{{\csname \TYPE accode\CODE\COMP\Alph{noligne}\endcsname} |
{\csname \TYPE acname\CODE\COMP\Alph{noligne}\endcsname}}
\contenu
\xdef\accode{\csname \TYPE accode\CODE\COMP\Alph{noligne}\endcsname}
\hyperlink{comp:\targetcomp}{\accode} | {\csname \TYPE acname\CODE\COMP\Alph{noligne}\endcsname}
\tabularnewline %
}
\end{tabular}%
@ -50,11 +50,8 @@
\begin{tabular}[t]{@{}T@{}}%
\forLoop{1}{\value{cptRsae\CODE}}{noligne}{
\xdef\saecode{\csname Rsaecode\CODE\Alph{noligne}\endcsname}
\xdef\contenu{
{\saecode} |
\hyperlink{sae:\saecode}{\saecode}~|
{\csname Rsaename\CODE\Alph{noligne}\endcsname}
}
\hyperlink{sae:\saecode}{\contenu}
\tabularnewline %
}
\end{tabular}%
@ -72,10 +69,7 @@ Aucun
\forLoop{1}{\value{cptRprerequis\CODE}}{noligne}{
\xdef\rescode{\csname Rprerequiscode\CODE\Alph{noligne}\endcsname}
\xdef\contenu{ %
\rescode~| {\csname Rprerequisname\CODE\Alph{noligne}\endcsname}
}
\hyperlink{res:\rescode}{\contenu}
\hyperlink{res:\rescode}{\rescode}~| {\csname Rprerequisname\CODE\Alph{noligne}\endcsname}
\tabularnewline %
}
\end{tabular}%
@ -120,12 +114,9 @@ Aucun
}{
\begin{tabular}[t]{@{}T@{}}%
\forLoop{1}{\value{cptSressource\CODE}}{noligne}{
\xdef\rescode{\csname Sressourcecode\CODE\Alph{noligne}\endcsname}
\xdef\contenu{
{\rescode} |
{\csname Sressourcename\CODE\Alph{noligne}\endcsname}
}
\hyperlink{res:\rescode}{\contenu}
\xdef\rescode{\csname Sressourcecode\CODE\Roman{noligne}\endcsname}
\hyperlink{res:\rescode}{\rescode} |
{\csname Sressourcename\CODE\Roman{noligne}\endcsname}
\tabularnewline %
}
\end{tabular}%
@ -142,7 +133,7 @@ Aucun
\xdef\exemplecode{\csname EScodeE\CODE\Alph{noligne}\endcsname}
\xdef\titreexemple{\csname ESname\exemplecode\endcsname}
\xdef\contenu{\titreexemple}
Exemple \arabic{noligne}~: \hyperlink{exemple:\exemplecode}{\contenu}
\hyperlink{exemple:\exemplecode}{Exemple \arabic{noligne}}~: \contenu
\tabularnewline
}
\end{tabular}

View File

@ -12,16 +12,21 @@
\xdef\exemplecode{\csname EScodeE\EXEMPLE\endcsname}
% 1er tableau : Nom/Code/Semestre
\def\gris{0.9} % La profondeur du gris
% 3ème tableau : descriptif
\begin{tabular}[t]{|P|T|}
\hline
{\bfseries Titre} &
\multicolumn{1}{l|}{ \hypertarget{exemple:\exemplecode}{\bfseries \csname ESname\EXEMPLE\endcsname} }
\\
%\cellcolor[gray]{\gris}
\xdef\saecode{\csname EScode\EXEMPLE\endcsname}
{\bfseries Exemple {\csname ESnumero\EXEMPLE\endcsname}} &
\hyperlink{sae:\saecode}{\saecode}~| {\csname ESsae\EXEMPLE\endcsname} \\
\hline
\hline
%\cellcolor[gray]{\gris}
\hypertarget{exemple:\exemplecode}{\bfseries Titre} &
\tableauChampLong{\bfseries \csname ESname\EXEMPLE\endcsname} \\
\hline
\xdef\saecode{\csname EScode\EXEMPLE\endcsname}
{\bfseries Exemple de la \saecode} &
\hyperlink{sae:\saecode}{\csname ESsae\EXEMPLE\endcsname} \\
\hline
{ \setlength{\extrarowheight}{0pt}
\begin{tabular}[t]{@{}P@{}}
@ -35,6 +40,10 @@
{\bfseries Description} &
\tableauChampLong{\csname ESdescription\EXEMPLE\endcsname} \\
\hline
\end{tabular}
\begin{tabular}[t]{|P|T|}
\hline
{ \setlength{\extrarowheight}{0pt}
\begin{tabular}[t]{@{}P@{}}
{\bfseries Formes} \\

View File

@ -13,8 +13,8 @@
\begin{tabular}[t]{|P|Q|V|}
\hline % 1ère ligne
\xdef\rescode{\csname Rcode\CODE\endcsname}
{\bfseries Ressource \rescode}
& \multicolumn{2}{l|}{\hypertarget{res:\rescode}{\bfseries \csname Rname\CODE\endcsname}}
{\bfseries \hypertarget{res:\rescode}{Ressource \rescode}}
& \multicolumn{2}{l|}{\bfseries \csname Rname\CODE\endcsname}
\\
\hline % 2ème ligne
%{\bfseries Code}
@ -40,7 +40,7 @@
% 2ème tableau : compétences et apprentissages critiques
\begin{tabular}[t]{|C|C|C|}
\hline
\multicolumn{3}{|c|}{\bfseries Compétence(s) ciblées et apprentissage(s) critique(s) couvert(s)} \\
\multicolumn{3}{|c|}{\bfseries Compétence(s) ciblées, coefficient(s) et apprentissage(s) critique(s) couvert(s)} \\
\hline
\textit{\csname Rcomp\CODE A\endcsname} | {\csname Rniveau\CODE A\endcsname}
&
@ -48,14 +48,19 @@
&
\textit{\csname Rcomp\CODE C\endcsname} | {\csname Rniveau\CODE C\endcsname}
\\
\hline
\ifcsdef{Rcoeff\CODE A}{coeff. {\csname Rcoeff\CODE A\endcsname}}{} &
\ifcsdef{Rcoeff\CODE B}{coeff. {\csname Rcoeff\CODE B\endcsname}}{} &
\ifcsdef{Rcoeff\CODE C}{coeff. {\csname Rcoeff\CODE C\endcsname}}{}
\\
\hline % AC de RT1
{\listeAC{R}{\CODE}{A}
{\listeAC{R}{\CODE}{A}{RT1}
}
& % AC de RT2
{\listeAC{R}{\CODE}{B}
{\listeAC{R}{\CODE}{B}{RT2}
}
& % AC de RT3
{\listeAC{R}{\CODE}{C}
{\listeAC{R}{\CODE}{C}{RT3}
}
\\
\hline
@ -71,7 +76,7 @@
% {\bfseries Descriptif } & \tableauDescriptif{\CODE} \\
{\bfseries Descriptif } & \tableauChampLong{\csname Rancrage\CODE\endcsname} \\
\hline
{\bfseries Contenus } & {\csname Rcontenu\CODE\endcsname}
{\bfseries Contenus } & \tableauChampLong{\csname Rcontenu\CODE\endcsname}
\\
\hline
{\bfseries Mots-clés} & {\csname Rmotscles\CODE\endcsname} \\

View File

@ -11,10 +11,11 @@
\begin{tabular}[t]{|P|Q|V|}
\hline % 1ère ligne
\xdef\saecode{\csname Scode\CODE\endcsname}
\xdef\saelink{\csname Slinkcode\CODE\endcsname}
{\bfseries % SAÉ
\saecode}
\hypertarget{sae:\saecode}{\saecode}}
& \multicolumn{2}{l|}{
\hypertarget{sae:\saecode}{\bfseries \csname Sname\CODE\endcsname}
\bfseries \csname Sname\CODE\endcsname
} \\
\hline % 2ème ligne
% {\bfseries Code}
@ -69,7 +70,7 @@
% 3ème tableau : compétences et apprentissages critiques
\begin{tabular}[t]{|C|C|C|}
\hline
\multicolumn{3}{|c|}{\bfseries Compétence(s) ciblées et apprentissage(s) critique(s) couvert(s)} \\
\multicolumn{3}{|c|}{\bfseries Compétence(s) ciblée(s), coefficient(s) et apprentissage(s) critique(s) couvert(s)} \\
\hline
\textit{\csname Scomp\CODE A\endcsname} | {\csname Sniveau\CODE A\endcsname}
&
@ -77,14 +78,19 @@
&
\textit{\csname Scomp\CODE C\endcsname} | {\csname Sniveau\CODE C\endcsname}
\\
\hline
\ifcsdef{Scoeff\CODE A}{coeff. {\csname Scoeff\CODE A\endcsname}}{} &
\ifcsdef{Scoeff\CODE B}{coeff. {\csname Scoeff\CODE B\endcsname}}{} &
\ifcsdef{Scoeff\CODE C}{coeff. {\csname Scoeff\CODE C\endcsname}}{}
\\
\hline % AC de RT1
{\listeAC{S}{\CODE}{A}
{\listeAC{S}{\CODE}{A}{RT1}
}
& % AC de RT2
{\listeAC{S}{\CODE}{B}
{\listeAC{S}{\CODE}{B}{RT2}
}
& % AC de RT3
{\listeAC{S}{\CODE}{C}
{\listeAC{S}{\CODE}{C}{RT3}
}
\\
\hline

View File

@ -15,7 +15,6 @@
\usepackage{etoolbox}
\usepackage[francais]{babel}
\usepackage{hyperref}
\usepackage{array} % Pour les tableaux
\usepackage{multicol}
\usepackage{geometry}
\usepackage{forloop}
@ -24,6 +23,11 @@
% \usepackage{longtable}
\usepackage{hyperref}
\usepackage{amsmath} % pour les formules de maths
\usepackage{nicematrix} % pour les tableaux de synthèse
\usepackage{multirow}
\usepackage{array}
\usepackage{fontawesome}
\usepackage{amssymb}
\setlist{leftmargin=1em,topsep=0pt,partopsep=0pt,itemsep=0pt,itemindent=0em}
@ -47,10 +51,17 @@
% Macros et contrôle de l'affichage des mots-clés
% \draft est defini pour la verison de travail avec annotations et table des matières
\ifdef{\draft}{
\usepackage[motscles]{macros_formations} % avec mots-clés
\usepackage[motscles]{macros_competences} % avec mots-clés
}{
\usepackage{macros_formations} % sans mots-clés
\usepackage{macros_competences} % sans mots-clés
}
\usepackage{macros_formations}
\hypersetup{
linkcolor=blue,
colorlinks=true,
}
\urlstyle{rm}
% ********************************************************
\title{Référentiel de formation\\Spécialité : Réseaux et Télécommunications}
@ -73,6 +84,8 @@
%\input{macros.tex}
\input{feminisation-metiers.tex}
% L'import du référentiel
\specialite{Réseaux et Télécommunications}
\input{referentiel_competences.tex}
\input{referentiel_BUT1.tex}
% Les macros pour affichage
@ -81,6 +94,7 @@
\input{modeles/tableau_sae.tex}
\input{modeles/tableau_exemple.tex}
\input{modeles/affichages.tex}
\input{modeles/tableau_competence.tex}
\begin{document}
@ -98,6 +112,13 @@
\newpage
%}
\section{Compétences du tronc commun}
\foreach \CNOM/\CTYPE/\CLETTRE [count=\COUXX] in {CCA/C/A, CCB/C/B, CCC/C/C} {
\subsection{ {\csname compcoderef\CNOM\endcsname} - {\csname compname\CNOM\endcsname} }
\tableauCompetence{\CNOM}{\CTYPE}{\CLETTRE}
}
%%%%%%%%%%%%%%%%
%% SEMESTRE 1 %%
@ -113,6 +134,14 @@
%
\listeTitreRessource{\sem}
\subsection{Matrice Compétences/SAÉs-Ressources du semestre 1}
\scalebox{0.95}{\input{synthese/S1_acs_vs_saes_ressources.tex}}
\subsection{Volumes horaires et coefficients}
\input{synthese/S1_coeffs_saes_ressources.tex}
\newpage
% Les SAE du semestre 1 + les exemples
@ -120,27 +149,35 @@
% Les ressources du semestre 1
\affichageRessource{\sem}
%
%%%%%%%%%%%%%%%%%
%%% SEMESTRE 2 %%
%%%%%%%%%%%%%%%%%
%\section{Semestre 2}
%\def\sem{B} % Le semestre 2
%
%\subsection{SAÉs du semestre 2}
%
%\listeTitreSAE{\sem}
%
%\subsection{Ressources du semestre 2}
%
%\listeTitreRessource{\sem}
%
%\newpage
%
%% Les SAE du semestre 2 + les exemples
%\affichageSAE{\sem}
%
%% Les ressources du semestre 2
%\affichageRessource{\sem}
%%%%%%%%%%%%%%%%
%% SEMESTRE 2 %%
%%%%%%%%%%%%%%%%
\section{Semestre 2}
\def\sem{B} % Le semestre 2
\subsection{SAÉs du semestre 2}
\listeTitreSAE{\sem}
\subsection{Ressources du semestre 2}
\listeTitreRessource{\sem}
\subsection{Matrice Compétences/SAÉs-Ressources du semestre 2}
\scalebox{0.95}{\input{synthese/S2_acs_vs_saes_ressources.tex}}
\subsection{Volumes horaires et coefficients}
\input{synthese/S2_coeffs_saes_ressources.tex}
\newpage
% Les SAE du semestre 2 + les exemples
\affichageSAE{\sem}
% Les ressources du semestre 2
\affichageRessource{\sem}
\end{document}

View File

@ -1,4 +1,4 @@
\specialite{Réseaux et Télécommunications}
%%%%%%%%%%%%%%%%
%% Semestre 1 %%
@ -28,7 +28,7 @@
\input{saes/SAE15.tex}
\input{saes/SAE15_exemple1.tex}
%
\input{ressources/R101.tex}
\input{ressources/R102.tex}
\input{ressources/R103.tex}
@ -53,30 +53,35 @@
\input{saes/SAE21.tex}
\input{saes/SAE21_exemple1.tex}
%\input{saes/SAE21_exemple2.tex}
%\input{saes/SAE21_exemple3.tex}
%
%\input{saes/SAE22.tex}
%\input{saes/SAE22_exemple1.tex}
%\input{saes/SAE22_exemple2.tex}
%\input{saes/SAE22_exemple3.tex}
%
%\input{saes/SAE23.tex}
%\input{saes/SAE23_exemple1.tex}
%\input{saes/SAE23_exemple2.tex}
%
%
%\input{ressources/R201.tex}
%\input{ressources/R202.tex}
%\input{ressources/R203.tex}
%\input{ressources/R204.tex}
%\input{ressources/R205.tex}
%\input{ressources/R206.tex}
%\input{ressources/R207.tex}
%\input{ressources/R208.tex}
%\input{ressources/R209.tex}
%\input{ressources/R210.tex}
%\input{ressources/R211.tex}
%\input{ressources/R212.tex}
%\input{ressources/R213.tex}
%\input{ressources/R214.tex}
\input{saes/SAE21_exemple2.tex}
\input{saes/SAE21_exemple3.tex}
\input{saes/SAE22.tex}
\input{saes/SAE22_exemple1.tex}
\input{saes/SAE22_exemple2.tex}
\input{saes/SAE22_exemple3.tex}
\input{saes/SAE23.tex}
\input{saes/SAE23_exemple1.tex}
\input{saes/SAE23_exemple2.tex}
\input{saes/SAE24.tex}
\input{saes/SAE24_exemple1.tex}
\input{saes/SAE24_exemple2.tex}
\input{saes/SAE24_exemple3.tex}
\input{ressources/R201.tex}
\input{ressources/R202.tex}
\input{ressources/R203.tex}
\input{ressources/R204.tex}
\input{ressources/R205.tex}
\input{ressources/R206.tex}
\input{ressources/R207.tex}
\input{ressources/R208.tex}
\input{ressources/R209.tex}
\input{ressources/R210.tex}
\input{ressources/R211.tex}
\input{ressources/R212.tex}
\input{ressources/R213.tex}
\input{ressources/R214.tex}

View File

@ -9,16 +9,22 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{12}
\ajoutRac{AC0113}{Configurer les fonctions de base du réseau local}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
\ajoutRac{AC0116}{Installer un poste client}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0213}{Déployer des supports de transmission}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
% Les SAE
\ajoutRsae{SAÉ11}{Se sensibiliser à l'hygiène informatique et à la cybersécurité}
@ -33,7 +39,7 @@ les compétences de cœur de métier ``Administrer les réseaux et
l'Internet'' (RT1) et ``Connecter les entreprises et les usagers''
(RT2). Elle contribue aussi à la compétence ``Créer des outils et
applications informatiques pour les R\&T'' (RT3) à travers la découverte
du poste client et de son environnement logiciel.
du poste client et de son environnement logiciel.\\
Cette ressource permet à l'étudiant de découvrir et déployer un premier
système d'information au sein d'une entreprise. À travers des exercices
de mise en place progressive de réseaux locaux, d'interconnection
@ -41,18 +47,19 @@ d'équipements et de prise en main des fonctions de base des systèmes
d'exploitation, l'étudiant découvrira les principaux concepts utilisés
dans les réseaux informatiques, et commencera à comprendre le rôle et
les principes des normes et protocoles essentiels des réseaux locaux,
comme Ethernet, TCP/IP, DHCP, DNS.
comme Ethernet, TCP/IP, DHCP, DNS.\\
On introduira des notions de sécurité informatique (les ressources
associées aux recommandations de l'ANSSI, CyberEdu, CyberMalveillance
pourront servir de support).}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Initiation au réseau
\begin{itemize}
\item
\item
Découverte et prise en main du réseau local
\item
Adressage IPv4 : classes d'adresses, masques naturels, adressage
@ -63,7 +70,7 @@ pourront servir de support).}
\item
Bases du système d'exploitation
\begin{itemize}
\item
\item
Architecture d'un système d'exploitation
\item
Différents types de systèmes d'exploitation : les clients, les

View File

@ -9,6 +9,8 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{12}
\ajoutRac{AC0114}{Maîtriser les rôles et les principes fondamentaux des systèmes d'exploitation afin d'interagir avec ceux-ci pour la configuration et administration des réseaux et services fournis}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
@ -16,9 +18,13 @@
\ajoutRcompetence{RT3-Programmer}{\niveauA}
% Les SAE
\ajoutRsae{SAÉ11}{Se sensibiliser à l'hygiène informatique et à la cybersécurité}
\ajoutRsae{SAÉ12}{S'initier aux réseaux informatiques}
@ -31,7 +37,7 @@
\ajoutRancrage{Cette ressource a pour objectif de donner à l'étudiant un cadre commun
et intégratif de l'ensemble des mécanismes nécessaires au fonctionnement
des réseaux informatiques. Ce cadre général est essentiel, et sert de
référence à l'ensemble des autres ressources réseaux.
référence à l'ensemble des autres ressources réseaux.\\
Elle participe principalement à la compétence RT1-Administrer les
réseaux et l'Internet à travers la compréhension et l'utilisation de la
partie réseau des systèmes d'exploitation, la compréhension de
@ -40,6 +46,7 @@ les notions de services rendus et de performance du réseau.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Approche en couches et encapsulation.
@ -58,7 +65,7 @@ les notions de services rendus et de performance du réseau.}
\end{itemize}
Outils préconisés : logiciels du type wireshark, gns3, packet tracer,
scapy, marionnet.Faire le lien avec les aspects sécurité informatique et
réseaux mentionnés en R101.
réseaux mentionnés en R101.\\
Des éléments relatifs à la sécurité et aux risques informatiques et
réseaux seront progressivement introduits au travers des différents
contenus étudiés afin que ces éléments deviennent une préoccupation

View File

@ -9,16 +9,22 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{8}
\ajoutRac{AC0113}{Configurer les fonctions de base du réseau local}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
\ajoutRac{AC0116}{Installer un poste client}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0213}{Déployer des supports de transmission}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{0}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
% Les SAE
\ajoutRsae{SAÉ11}{Se sensibiliser à l'hygiène informatique et à la cybersécurité}
@ -33,7 +39,7 @@ les compétences de cœur de métier ``Administrer les réseaux et
l'Internet'' (RT1). Elle vise à fournir à l'étudiant les connaissances
et les compétences indispensables pour pouvoir concevoir, déployer et
maintenir l'infrastructure réseau informatique de l'entreprise
(Ethernet)
(Ethernet)\\
Au niveau de la compétence RT2-Connecter, elle aborde les notions
d'exploitation du câblage (brassage). La compétence RT1-Administrer est
quant à elle renforcée à travers la mise en place et la configuration de
@ -44,20 +50,21 @@ support (segmentation physique et virtuelle (VLAN)). Ces deux
compétences s'appuient sur la compréhension des mécanismes intrinsèques
aux réseaux locaux Ethernet : adressage MAC, commutation/routage de
niveau 2, ARP, passage d'un type de support physique à un autre,
changements de débit, \ldots{}
changements de débit, \ldots{}\\
Elle contribue aussi à la compétence ``Créer des outils et applications
informatiques pour les R\&T'' (RT3) à travers la découverte du poste
client et de son environnement logiciel.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Câblage réseaux.
\item
Différentes topologies physiques et logiques.
\item
Normalisation Ethernet 802 (802.1, 802.2, 802..
Normalisation Ethernet 802 (802.1, 802.2, 802.3).
\item
Commutation Ethernet : apprentissage des adresses MAC, diffusion,
Broadcast.

View File

@ -9,15 +9,21 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{9}
\ajoutRac{AC0111}{Maîtriser les lois fondamentales de l'électricité afin d'intervenir sur des équipements de réseaux et télécommunications}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{5}
\ajoutRac{AC0211}{Mesurer et analyser les signaux}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
% Les SAE
\ajoutRsae{SAÉ13}{Découvrir un dispositif de transmission}
@ -28,20 +34,21 @@
\ajoutRancrage{Cette ressource apporte le socle de connaissances et savoir-faire pour
les compétences de cœur de métier ``Administrer les réseaux et
l'Internet'' (RT1) et ``Connecter les entreprises et les usagers''
(RT2).
(RT2).\\
La connaissance des phénomènes électriques, la maîtrise des grandeurs
électriques et de leurs mesures, ainsi que la notion de puissance
permettent à l'étudiant de comprendre le fonctionnement des systèmes
télécom et de travailler sur les signaux.
télécom et de travailler sur les signaux.\\
Les notions de dimensionnement électrique concourent à la sécurité du
fonctionnement des équipements réseaux et télécoms. La puissance
maximale permet d'aborder les problèmes d'adaptation d'impédance.
maximale permet d'aborder les problèmes d'adaptation d'impédance.\\
A travers des exercices de mise en place de circuits simples, les
étudiants seront capables d'implanter des circuits, de placer les
instruments de mesure et d'interpréter les résultats.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Lois de base de l'électricité, théorèmes fondamentaux, pont diviseur

View File

@ -11,14 +11,20 @@
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{5}
\ajoutRac{AC0211}{Mesurer et analyser les signaux}
\ajoutRac{AC0213}{Déployer des supports de transmission}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
% Les SAE
\ajoutRsae{SAÉ13}{Découvrir un dispositif de transmission}
@ -29,12 +35,13 @@
\ajoutRancrage{Cette ressource apporte les bases de connaissances et savoir-faire
techniques pour la compétence ``connecter les entreprises et les
usagers'' à travers les apprentissages critiques ``mesurer et analyser
les signaux'' et ``déployer des supports de transmission''.
les signaux'' et ``déployer des supports de transmission''.\\
Il s'agit d'étudier les concepts fondamentaux des supports de
transmission.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Types de support de transmission (réseau d'entreprise, réseau

View File

@ -9,14 +9,20 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{10}
\ajoutRac{AC0112}{Comprendre l'architecture des systèmes numériques et les principes du codage de l'information}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
% Les SAE
\ajoutRsae{SAÉ12}{S'initier aux réseaux informatiques}
@ -29,7 +35,7 @@
\ajoutRancrage{Cette ressource apporte le socle de connaissances et savoir-faire pour
les compétences de cœur de métier ``Administrer les réseaux et
l'Internet'' (RT1) et " Créer des outils et applications informatiques
pour les R\&T" (RT3).
pour les R\&T" (RT3).\\
Les systèmes informatiques et numériques sont au cœur de la spécialité
Réseaux et Télécoms. Cette ressource vise tout d'abord à permettre la
compréhension du codage et du stockage des données. Puis elle permet de
@ -39,6 +45,7 @@ permettra aux étudiants de relier ces systèmes au monde extérieur.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Codage des nombres, des caractères, des images.

View File

@ -11,12 +11,18 @@
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{22}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
\ajoutRac{AC0312}{Lire, exécuter, corriger et modifier un programme}
\ajoutRac{AC0313}{Traduire un algorithme, dans un langage et pour un environnement donné}
@ -46,7 +52,7 @@ contenus suivants seront traités :
\item
Notions d'algorithmique :
\begin{itemize}
\item
\item
Variables, types de base (nombres, chaînes, listes/tableaux).
\item
Structures de contrôle : tests, répétitions.

View File

@ -9,6 +9,8 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{6}
\ajoutRac{AC0114}{Maîtriser les rôles et les principes fondamentaux des systèmes d'exploitation afin d'interagir avec ceux-ci pour la configuration et administration des réseaux et services fournis}
\ajoutRac{AC0116}{Installer un poste client}
@ -16,8 +18,12 @@
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{7}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
\ajoutRac{AC0312}{Lire, exécuter, corriger et modifier un programme}
% Les SAE
@ -28,12 +34,12 @@
% Le descriptif
\ajoutRancrage{Cette ressource traite des bases de l'utilisation d'un poste client et
de son système d'exploitation.
de son système d'exploitation.\\
Elle est essentielle pour la prise en main pratique d'un système
informatique en abordant notamment la gestion des données dans un espace
de stockage (organisation, recherche, droits) et la maîtrise d'un
environnement numérique, deux thèmes attendus par le référentiel PIX
(https://pix.fr/competences).
(https://pix.fr/competences).\\
Cette ressource introduit également un usage avancé du système
d'exploitation nécessaire au besoin d'un professionnel R\&T. Elle vise
la maîtrise de commandes en ligne pour gérer l'arborescence de fichiers,
@ -42,12 +48,13 @@ pour exécuter un programme ou configurer les éléments d'un site Web
(compétence RT3-Programmer). Elle vise également l'emploi des
principales commandes réseau, dans des scripts simples. Ces commandes
sont les bases d'appui pour administrer - par la suite - un réseau et de
ses services (compétence RT1-Administrer).
ses services (compétence RT1-Administrer).\\
Elle contribue donc aux apprentissages critiques mentionnés
précédemment.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Systèmes d'exploitations Windows/Linux, Interface-Homme-Machine et

View File

@ -11,12 +11,18 @@
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0314}{Connaître l'architecture et les technologies d'un site Web}
% Les SAE
\ajoutRsae{SAÉ14}{Se présenter sur Internet}
@ -30,7 +36,7 @@ contenus Web pour le site Web et l'intranet d'une entreprise. Grâce aux
pages Web, il peut aisément mettre à disposition des collaborateurs les
outils-métiers qu'il aura développés (compétence RT3-Programmer) et
leurs documentations. Plus généralement, il pourra même développer une
application Web.
application Web.\\
La présente ressource fournit les bases conceptuelles et pratiques pour
écrire et modifier des pages Web dans un langage normalisé de
description de contenus et de sa présentation. Elle traite donc de la
@ -41,6 +47,7 @@ navigateur Web.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Utilisation avancée d'un navigateur Web

View File

@ -9,14 +9,20 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{5}
\ajoutRac{AC0215}{Communiquer avec un client ou un collaborateur}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{5}
\ajoutRac{AC0316}{S'intégrer dans un environnement propice au développement et au travail collaboratif}
% Les SAE
\ajoutRsae{SAÉ11}{Se sensibiliser à l'hygiène informatique et à la cybersécurité}

View File

@ -9,14 +9,20 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0116}{Installer un poste client}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0215}{Communiquer avec un client ou un collaborateur}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0316}{S'intégrer dans un environnement propice au développement et au travail collaboratif}
% Les SAE
\ajoutRsae{SAÉ11}{Se sensibiliser à l'hygiène informatique et à la cybersécurité}
@ -41,6 +47,7 @@ l'importance des savoir-être et aux enjeux du développement durable.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Rechercher, sélectionner ses sources et questionner leur fiabilité

View File

@ -4,19 +4,25 @@
\nouvelleressource{R112}{Projet Personnel et Professionnel}
\ajoutRheures{18}{15}
\ajoutRheures{15}{12}
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0112}{Comprendre l'architecture des systèmes numériques et les principes du codage de l'information}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
% Les SAE
\ajoutRsae{SAÉ14}{Se présenter sur Internet}
@ -29,6 +35,7 @@
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
s'approprier son champ d'activité;
@ -46,6 +53,33 @@
\item
découvrir le portfolio et son utilisation dans la formation.
\end{itemize}
PROPOSITION ADIUT :
\begin{itemize}
\item
d'avoir une compréhension exhaustive du référentiel de compétences de
la formation et des éléments
le structurant (composantes essentielles, niveaux, apprentissages
critiques, famille de situations)
;
\begin{itemize}
\item
de faire le lien entre les niveaux de compétences ciblés, les SAÉ et
les ressources au programme
de chaque semestre ;
\item
de découvrir les métiers associés à la spécialité et les
environnements professionnels correspondants
;
\item
de se positionner sur un des parcours de la spécialité lorsque ces
parcours sont proposés en seconde
année ;
\item
de mobiliser les techniques de recrutement dans le cadre d'une
recherche de stage ou d'un contrat
d'alternance.
\end{itemize}
\end{itemize}
Activités notamment proposées dans cette ressource :
\begin{itemize}
\item

View File

@ -9,20 +9,26 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{5}
\ajoutRac{AC0111}{Maîtriser les lois fondamentales de l'électricité afin d'intervenir sur des équipements de réseaux et télécommunications}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{8}
\ajoutRac{AC0211}{Mesurer et analyser les signaux}
\ajoutRac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
% Les SAE
\ajoutRsae{SAÉ13}{Découvrir un dispositif de transmission}
\ajoutRsae{SAÉ22}{Mesurer et caractériser un signal ou un système}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
@ -38,6 +44,7 @@ télécommunications.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Introduction aux signaux
@ -57,14 +64,16 @@ télécommunications.}
\item
opérations sur les signaux : avance, retard, dilatation,
amplification, offset (interprétation géométrique
sur le graphe), somme de signaux Cette partie sera l'occasion de
réviser les règles de calculs de base par l'intermédiaire du calcul
d'images et d'antécédents.
sur le graphe), somme de signaux
\end{itemize}
\end{itemize}
Cette partie sera l'occasion de réviser les règles de calculs de base
par l'intermédiaire du calcul d'images et d'antécédents.
\begin{itemize}
\item
Éléments de trigonométrie
\begin{itemize}
\item
\item
définition du radian
\item
cercle trigonométrique
@ -77,7 +86,7 @@ télécommunications.}
\item
Signaux périodiques
\begin{itemize}
\item
\item
période, fréquence, pulsation
\item
signaux périodiques de base : créneau, dent de scie, sinus,

View File

@ -9,20 +9,26 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0111}{Maîtriser les lois fondamentales de l'électricité afin d'intervenir sur des équipements de réseaux et télécommunications}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{8}
\ajoutRac{AC0211}{Mesurer et analyser les signaux}
\ajoutRac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
% Les SAE
\ajoutRsae{SAÉ13}{Découvrir un dispositif de transmission}
\ajoutRsae{SAÉ22}{Mesurer et caractériser un signal ou un système}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R113}{Mathématiques du signal}
@ -39,11 +45,12 @@ lien avec l'électronique et les télécommunications.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Trigonométrie
\begin{itemize}
\item
\item
formules \(\cos(a\pm b)\), \(\cos(a)\cos(b)\), \(cos^2(a)\) ; même
formules avec sinus
\item
@ -57,7 +64,7 @@ lien avec l'électronique et les télécommunications.}
\item
Fonctions logarithme et exponentielle, puissances
\begin{itemize}
\item
\item
graphes
\item
propriétés, retour sur les propriétés des puissances
@ -67,7 +74,7 @@ lien avec l'électronique et les télécommunications.}
\item
Nombres complexes
\begin{itemize}
\item
\item
forme algébrique
\item
addition, multiplication et division avec la forme algébrique

View File

@ -11,12 +11,18 @@
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{2}
\ajoutRac{AC0215}{Communiquer avec un client ou un collaborateur}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0316}{S'intégrer dans un environnement propice au développement et au travail collaboratif}
% Les SAE
\ajoutRsae{SAÉ11}{Se sensibiliser à l'hygiène informatique et à la cybersécurité}

View File

@ -9,20 +9,26 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{19}
\ajoutRac{AC0113}{Configurer les fonctions de base du réseau local}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
\ajoutRac{AC0116}{Installer un poste client}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0213}{Déployer des supports de transmission}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{0}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
% Les SAE
\ajoutRsae{SAÉ21}{Construire un réseau informatique pour une petite structure}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R101}{Initiation aux réseaux informatiques}
@ -37,16 +43,17 @@ l'Internet'' (RT1) et ``Connecter les entreprises et les usagers''
compétences indispensables pour pouvoir concevoir, déployer et maintenir
les infrastructures réseaux grande distance (Internet), plus précisément
l'adressage, le routage et le transport de paquets. Une première
approche du filtrage (sécurité) y est aussi abordée.
approche du filtrage (sécurité) y est aussi abordée.\\
Elle contribue aussi à la compétence ``Créer des outils et applications
informatiques pour les R\&T'' (RT3) à travers la découverte du poste
client et de son environnement logiciel.
client et de son environnement logiciel.\\
On introduira des notions de sécurité informatique (les ressources
associées aux recommandations de l'ANSSI, CyberEdu, CyberMalveillance
pourront servir de support)}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Protocole et adressage IPv4\&6.

View File

@ -9,6 +9,8 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{12}
\ajoutRac{AC0113}{Configurer les fonctions de base du réseau local}
\ajoutRac{AC0114}{Maîtriser les rôles et les principes fondamentaux des systèmes d'exploitation afin d'interagir avec ceux-ci pour la configuration et administration des réseaux et services fournis}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
@ -18,32 +20,39 @@
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
% Les SAE
\ajoutRsae{SAÉ21}{Construire un réseau informatique pour une petite structure}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R101}{Initiation aux réseaux informatiques}
\ajoutRprerequis{R107}{Fondamentaux de la programmation}
\ajoutRprerequis{R108}{Bases des systèmes d'exploitation}
% Le descriptif
\ajoutRancrage{Cette ressource apporte le socle de connaissances et savoir-faire pour
les compétences de cœur de métier ``Administrer les réseaux et
l'Internet'' (RT1). Elle donne aux étudiants toutes les compétences pour
l'Internet'' (RT1). Elle donne aux étudiants les compétences pour
effectuer des tâches simples d'administration du système d'information
de l'entreprise (processus, utilisateurs, automatisation) et pour
utiliser des solutions de virtualisation, de conteneurisation.
utiliser des solutions de virtualisation, de conteneurisation.\\
Elle contribue aussi à la compétence ``Créer des outils et applications
informatiques pour les R\&T'' (RT3) à travers la découverte du poste
client et de son environnement logiciel.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Gestion des systèmes de fichiers
Gestion des systèmes de fichiers (volumes, droits, types de fichiers)
\item
Gestion de processus et services
\item
@ -51,7 +60,7 @@ client et de son environnement logiciel.}
\item
Scripts pour l'automatisation de séquences de commandes
\item
Utilisation de fichiers de traces
Utilisation de fichiers de traces (logs)
\item
Initiation et mise en oeuvre d'infrastructures de virtualisation et/ou
de conteneurisation

View File

@ -9,6 +9,8 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{12}
\ajoutRac{AC0113}{Configurer les fonctions de base du réseau local}
\ajoutRac{AC0114}{Maîtriser les rôles et les principes fondamentaux des systèmes d'exploitation afin d'interagir avec ceux-ci pour la configuration et administration des réseaux et services fournis}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
@ -17,12 +19,16 @@
\ajoutRcompetence{RT3-Programmer}{\niveauA}
% Les SAE
\ajoutRsae{SAÉ21}{Construire un réseau informatique pour une petite structure}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R101}{Initiation aux réseaux informatiques}
@ -32,19 +38,20 @@
% Le descriptif
\ajoutRancrage{Cette ressource apporte les connaissances et compétences de base
nécessaires à la mise en oeuvre des services réseaux dans un système
d'information
d'information\\
Les services abordés sont des services essentiels à tout SI tels que le
DNS, le DHCP ou le transfert de fichiers pour les configurations
d'appareils réseaux pour n'en citer que quelques-uns. Cette découverte
des premiers protocoles applicatifs permettra également de sensibiliser
les étudiants aux risques de sécurité liés à la configuration de ces
services
services\\
On introduira des notions de sécurité informatique (les ressources
associées aux recommandations de l'ANSSI, CyberEdu, CyberMalveillance
pourront servir de support).}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Rappels sur les protocoles de transport (TCP, UDP)

View File

@ -9,19 +9,25 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{8}
\ajoutRac{AC0113}{Configurer les fonctions de base du réseau local}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
\ajoutRac{AC0116}{Installer un poste client}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0213}{Déployer des supports de transmission}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{0}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
% Les SAE
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R101}{Initiation aux réseaux informatiques}
@ -34,12 +40,13 @@ d'aborder les différents types de téléphonie (hors téléphonie mobile)
utilisés de nos jours, que ce soit sur un réseau dédié (téléphonie
analogique, numérique) ou un réseau partagé (ToIP). Une découverte des
services téléphoniques utiles à la communication dans l'entreprise sera
réalisée, ainsi qu'une première approche des réseaux publics existants.
réalisée, ainsi qu'une première approche des réseaux publics existants.\\
En fonction du contexte local, on pourra orienter l'étude vers un réseau
téléphonique mixte (TDM/IP) ou TOIP.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Présentation des principes généraux de la téléphonie.

View File

@ -9,16 +9,22 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{2}
\ajoutRac{AC0111}{Maîtriser les lois fondamentales de l'électricité afin d'intervenir sur des équipements de réseaux et télécommunications}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{12}
\ajoutRac{AC0211}{Mesurer et analyser les signaux}
\ajoutRac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
% Les SAE
\ajoutRsae{SAÉ22}{Mesurer et caractériser un signal ou un système}
@ -30,10 +36,10 @@
% Le descriptif
\ajoutRancrage{Cette ressource apporte le socle de connaissances et savoir-faire pour
les compétences de cœur de métier ``Administrer les réseaux et
l'Internet'' (RT1) et ``Connecter les entreprises et les usagers'' (RT2)
l'Internet'' (RT1) et ``Connecter les entreprises et les usagers'' (RT2)\\
La caractérisation du comportement d'un système télécom en fonction de
la fréquence permet au technicien d'appréhender la notion de bande
passante et d'introduire celle de canal de transmission.
passante et d'introduire celle de canal de transmission.\\
La représentation spectrale des signaux permet de comprendre quelles
modifications ces signaux vont subir dans un système télécom.}
@ -41,11 +47,11 @@ modifications ces signaux vont subir dans un système télécom.}
\ajoutRcontenudetaille{
Étude de la fonction de transfert d'un système linéaire -- Notion de
filtrage -- Réponse fréquentielle d'un support de transmission -- Notion
de bande passante. Atténuation, amplification des systèmes.
de bande passante. Atténuation, amplification des systèmes.\\
Représentations temporelles et fréquentielles des signaux - Analyse
spectrale de signaux réels (exemples : audio, WiFi, ADSL, etc.).
spectrale de signaux réels (exemples : audio, WiFi, ADSL, etc.).\\
Influence de la fonction de transfert d'un système sur un signal
(exemples : audio, numérique, \ldots)
(exemples : audio, numérique, \ldots)\\
Bilans de liaison de systèmes de transmissions
}

View File

@ -9,16 +9,22 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRac{AC0112}{Comprendre l'architecture des systèmes numériques et les principes du codage de l'information}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{10}
\ajoutRac{AC0211}{Mesurer et analyser les signaux}
\ajoutRac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
% Les SAE
\ajoutRsae{SAÉ22}{Mesurer et caractériser un signal ou un système}
@ -30,7 +36,7 @@
% Le descriptif
\ajoutRancrage{Cette ressource apporte le socle de connaissances et savoir-faire pour
les compétences de cœur de métier ``Administrer les réseaux et
l'Internet'' (RT1) et ``Connecter les entreprises et les usagers'' (RT2)
l'Internet'' (RT1) et ``Connecter les entreprises et les usagers'' (RT2)\\
Les systèmes de Réseaux et Télécoms véhiculent en permanence de données
numérisées. Ce module vient donc présenter les principes de la
numérisation de l'information, les contraintes de cette numérisation et
@ -39,6 +45,7 @@ en téléphonie, ou en télécommunications numériques.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Comprendre la notion de signal numérique, et le principe de la

View File

@ -9,14 +9,20 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{0}
\ajoutRac{AC0112}{Comprendre l'architecture des systèmes numériques et les principes du codage de l'information}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{10}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
\ajoutRac{AC0312}{Lire, exécuter, corriger et modifier un programme}
\ajoutRac{AC0313}{Traduire un algorithme, dans un langage et pour un environnement donné}
@ -25,7 +31,7 @@
\ajoutRac{AC0316}{S'intégrer dans un environnement propice au développement et au travail collaboratif}
% Les SAE
\ajoutRsae{SAÉ23}{Mettre en place une solution informatique pour lentreprise}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R107}{Fondamentaux de la programmation}
@ -43,7 +49,7 @@ PIX, cf.~https://pix.fr/competences), mais aussi à les traiter en
développant différents outils informatiques pour ses besoins personnels
ou pour son équipe (compétence RT3-Programmer). Plus largement, il
contribue activement à l'exploitation et à la maintenance du système
d'information de l' entreprise.
d'information de l' entreprise.\\
Cette ressource introduit les éléments fondamentaux des systèmes de
gestion de base de données en contribuant à la validation des
apprentissages critiques mentionnés précédemment. Elle présente
@ -54,11 +60,12 @@ introduits.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Stockage et accès aux données :
\begin{itemize}
\item
\item
système de gestion de données (relationnel/non relationnel);
\item
structuration des données: fichiers (CSV, JSON), exemples de sources
@ -70,7 +77,7 @@ introduits.}
\item
Base de données relationnelles :
\begin{itemize}
\item
\item
Schéma relationnel d'une base de données
\item
Sensibilisation aux contraintes d'intégrité

View File

@ -11,12 +11,18 @@
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{10}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
\ajoutRac{AC0312}{Lire, exécuter, corriger et modifier un programme}
\ajoutRac{AC0313}{Traduire un algorithme, dans un langage et pour un environnement donné}
@ -24,7 +30,7 @@
\ajoutRac{AC0316}{S'intégrer dans un environnement propice au développement et au travail collaboratif}
% Les SAE
\ajoutRsae{SAÉ23}{Mettre en place une solution informatique pour lentreprise}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R010}{None}
@ -43,6 +49,7 @@ précédemment.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Structure d'un programme : arborescence de fichiers, modules et
@ -52,7 +59,7 @@ précédemment.}
\item
Structure complexe de données :
\begin{itemize}
\item
\item
listes 2D, tableaux associatifs/dictionnaires
\item
notion de classes (instance, attributs, méthodes)
@ -60,7 +67,7 @@ précédemment.}
\item
Manipulation de fichiers avancée :
\begin{itemize}
\item
\item
fichiers structurés (XML, CSV, JSON, YAML)
\item
gestion de l'arborescence par le code

View File

@ -9,6 +9,8 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{2}
\ajoutRac{AC0112}{Comprendre l'architecture des systèmes numériques et les principes du codage de l'information}
\ajoutRac{AC0114}{Maîtriser les rôles et les principes fondamentaux des systèmes d'exploitation afin d'interagir avec ceux-ci pour la configuration et administration des réseaux et services fournis}
@ -16,8 +18,12 @@
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{10}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
\ajoutRac{AC0312}{Lire, exécuter, corriger et modifier un programme}
\ajoutRac{AC0313}{Traduire un algorithme, dans un langage et pour un environnement donné}
@ -26,7 +32,7 @@
\ajoutRac{AC0316}{S'intégrer dans un environnement propice au développement et au travail collaboratif}
% Les SAE
\ajoutRsae{SAÉ23}{Mettre en place une solution informatique pour lentreprise}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R107}{Fondamentaux de la programmation}
@ -38,7 +44,7 @@
\ajoutRancrage{Le professionnel R\&T peut être amené à développer, pour ses besoins
personnels ou pour ses collaborateurs, un site Web (compétence
RT3-Programmer), par exemple pour fournir une interface de présentation
du réseau informatique.
du réseau informatique.\\
Il doit en appréhender tous les éléments : il doit aussi bien connaître
les protocoles de communication du Web que veiller à la sécurité de
ceux-ci. Il doit également pouvoir accéder, traiter et afficher des
@ -48,13 +54,14 @@ contribue de fait aux apprentissages critiques mentionnés précédemment.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Introduction au protocole HTTP
\item
Mise en forme de pages Web :
\begin{itemize}
\item
\item
Balises HTML avancées
\item
Structure d'une page avec son DOM

View File

@ -9,21 +9,27 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0112}{Comprendre l'architecture des systèmes numériques et les principes du codage de l'information}
\ajoutRac{AC0114}{Maîtriser les rôles et les principes fondamentaux des systèmes d'exploitation afin d'interagir avec ceux-ci pour la configuration et administration des réseaux et services fournis}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{9}
\ajoutRac{AC0215}{Communiquer avec un client ou un collaborateur}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{7}
\ajoutRac{AC0316}{S'intégrer dans un environnement propice au développement et au travail collaboratif}
% Les SAE
\ajoutRsae{SAÉ21}{Construire un réseau informatique pour une petite structure}
\ajoutRsae{SAÉ22}{Mesurer et caractériser un signal ou un système}
\ajoutRsae{SAÉ23}{Mettre en place une solution informatique pour lentreprise}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R110}{Anglais de communication et initiation au vocabulaire technique}

View File

@ -9,20 +9,26 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{5}
\ajoutRac{AC0215}{Communiquer avec un client ou un collaborateur}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{4}
\ajoutRac{AC0316}{S'intégrer dans un environnement propice au développement et au travail collaboratif}
% Les SAE
\ajoutRsae{SAÉ21}{Construire un réseau informatique pour une petite structure}
\ajoutRsae{SAÉ22}{Mesurer et caractériser un signal ou un système}
\ajoutRsae{SAÉ23}{Mettre en place une solution informatique pour lentreprise}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R111}{Expression-Culture-Communication Professionnelles 1}
@ -32,6 +38,7 @@
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Utiliser les outils et ressources documentaires de manière

View File

@ -9,17 +9,23 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{1}
\ajoutRac{AC0115}{Identifier les dysfonctionnements du réseau local}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0215}{Communiquer avec un client ou un collaborateur}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{2}
\ajoutRac{AC0316}{S'intégrer dans un environnement propice au développement et au travail collaboratif}
% Les SAE
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R112}{Projet Personnel et Professionnel}
@ -29,6 +35,7 @@
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
se caractériser pour préparer son stage ou son alternance

View File

@ -9,20 +9,26 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0112}{Comprendre l'architecture des systèmes numériques et les principes du codage de l'information}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{5}
\ajoutRac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
\ajoutRcoeff{5}
\ajoutRac{AC0311}{Utiliser un système informatique et ses outils}
\ajoutRac{AC0313}{Traduire un algorithme, dans un langage et pour un environnement donné}
% Les SAE
\ajoutRsae{SAÉ22}{Mesurer et caractériser un signal ou un système}
\ajoutRsae{SAÉ23}{Mettre en place une solution informatique pour lentreprise}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
@ -36,11 +42,12 @@ l'exploitation d'algorithmes mis en œuvre via un outil informatique.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Suites, récurrence, signal numérique
) Suites, récurrence, signal numérique
\begin{itemize}
\item
\item
raisonnement par récurrence
\item
suites récurrentes
@ -48,11 +55,11 @@ l'exploitation d'algorithmes mis en œuvre via un outil informatique.}
signal discret (exemples : Kronecker, échelon échantillonné\ldots)
\item
convergence d'une suite (opérations sur les limites)
\end{itemize}
\item
Vecteurs en 2D et 3D
\begin{itemize}
\item
\begin{itemize}
\item
) Vecteurs en D et 3D
\end{itemize}
\item
définitions
\item
opérations (addition et multiplication externe)
@ -60,11 +67,11 @@ l'exploitation d'algorithmes mis en œuvre via un outil informatique.}
produit scalaire (lien avec la trigonométrie)
\item
application au calcul d'une équation de droite
\end{itemize}
\item
Matrices et vecteurs
\begin{itemize}
\item
\begin{itemize}
\item
) Matrices et vecteurs
\end{itemize}
\item
définition
\item
opérations

View File

@ -9,19 +9,25 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
\ajoutRcoeff{3}
\ajoutRac{AC0111}{Maîtriser les lois fondamentales de l'électricité afin d'intervenir sur des équipements de réseaux et télécommunications}
\ajoutRcompetence{RT2-Connecter}{\niveauA}
\ajoutRcoeff{9}
\ajoutRac{AC0211}{Mesurer et analyser les signaux}
\ajoutRac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement}
\ajoutRcompetence{RT3-Programmer}{\niveauA}
% Les SAE
\ajoutRsae{SAÉ22}{Mesurer et caractériser un signal ou un système}
\ajoutRsae{SAÉ24}{Projet intégratif de S2}
\ajoutRsae{SAÉ24}{Projet intégratif}
% Les pre-requis
\ajoutRprerequis{R113}{Mathématiques du signal}
@ -39,11 +45,12 @@ télécommunications.}
% Contenus
\ajoutRcontenudetaille{
\vspace{-5pt}
\begin{itemize}
\item
Dérivée
) Dérivée
\begin{itemize}
\item
\item
définition
\item
notation s'(t)=ds/dt
@ -57,19 +64,19 @@ télécommunications.}
sens de variation
\item
application à la recherche d'optimum local
\end{itemize}
\item
Comportement local et asymptotique
\begin{itemize}
\item
\begin{itemize}
\item
) Comportement local et asymptotique
\end{itemize}
\item
limites (opérations, formes indéterminées)
\item
fonctions négligeables, équivalents
\end{itemize}
\item
Intégration
\begin{itemize}
\item
\begin{itemize}
\item
) Intégration
\end{itemize}
\item
définition d'une intégrale comme une surface
\item
primitive

View File

@ -1,5 +1,7 @@
import docx2python
from ressource import get_matrices_ac_ressource
from ressourcedocx import *
import tools
@ -10,7 +12,7 @@ from tools import get_indice, get_indice_sans_accent_ni_espace
__LOGGER = logging.getLogger(__name__)
REPERTOIRE = "import"
DOCUMENT = "ressources_v0"
DOCUMENT = "ressources_v1"
# Ouverture du document
docu = docx2python.docx2python(REPERTOIRE + "/" + DOCUMENT + ".docx")
@ -57,6 +59,7 @@ for i in range(2, len(docu)): # A priori un tableau
# Parsing des données brute de la ressource
data = [None for i in range(len(ENTETES))] # les données attendues Nom, Code, ..., Mots clés
apprentissages = [None for i in range(3)] # les apprentissages des 3 compétences
coeffs = [None for i in range(3)]
non_interprete = []
for j in range(len(res)): # parcours des entêtes du tableau décrivant la ressource
@ -78,7 +81,9 @@ for i in range(2, len(docu)): # A priori un tableau
acs = res[j+2]
for k in range(len(acs)):
apprentissages[k] = tools.caracteres_recalcitrants("\n".join(acs[k])) # fusionne les ACS (généralement sur plusieurs lignes)
elif "Compétence(s) ciblée(s)" in champ:
les_coeffs = res[j+2]
coeffs = [elmt[0] for elmt in les_coeffs]
if non_interprete: # souvent Heures de formation (incluant les TP)
try:
@ -109,6 +114,8 @@ for i in range(2, len(docu)): # A priori un tableau
info = tuple(data[1:])
r.charge_informations(*info)
r.charge_ac(apprentissages)
r.charge_coeffs(coeffs)
# fin du parsing
print(f"{nbre_ressources} ressources")
@ -148,10 +155,6 @@ matrices = {}
les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]]
nbre_acs = len(les_codes_acs)
for sem in ressources:
# print("Matrice du semestre " + sem)
(matrices[sem], chaine) = get_matrices_ac_ressource(ressources, sem)
# Export yaml
WITH_EXPORT = True
for sem in ressources:

View File

@ -7,7 +7,7 @@ import logging
__LOGGER = logging.getLogger(__name__)
REPERTOIRE = "import"
DOCUMENT = "sae_v0"
DOCUMENT = "sae_v1"
# Ouverture du document
docu = docx2python.docx2python(REPERTOIRE + "/" + DOCUMENT + ".docx")
@ -64,6 +64,7 @@ for i in range(1, len(docu)): # A priori un tableau
# Parsing des données brute de la sae
data = [None for i in range(len(ENTETES_CHAPEAU))] # les données attendues Nom, Code, ..., Mots clés
apprentissages = [None for i in range(3)] # les apprentissages des 3 compétences
coeffs = [None for i in range(3)]
non_interprete = []
for j in range(len(res)): # parcours des entêtes du tableau décrivant la ressource
@ -85,6 +86,9 @@ for i in range(1, len(docu)): # A priori un tableau
acs = res[j+2]
for k in range(len(acs)):
apprentissages[k] = caracteres_recalcitrants("\n".join(acs[k])) # fusionne les ACS (généralement sur plusieurs lignes)
elif "Compétence(s) ciblée(s)" in champ:
les_coeffs = res[j+2]
coeffs = [elmt[0] for elmt in les_coeffs]
if non_interprete: # souvent Heures de formation (incluant les TP)
@ -103,6 +107,7 @@ for i in range(1, len(docu)): # A priori un tableau
info = tuple(data[1:])
r.charge_informations(*info)
r.charge_ac(apprentissages)
r.charge_coeffs(coeffs)
# nettoie le titre et le code
r.nettoie_code()
@ -168,13 +173,7 @@ saes = {"S1" : [], "S2": []}
for s in liste_saes:
print(f"{s.nom}")
s.nettoie_heures_sae()
s.nettoie_semestre()
s.nettoie_acs()
s.nettoie_ressources()
s.nettoie_description()
s.nettoie_livrables_sae()
s.nettoie_mots_cles()
s.nettoie_champs()
# Tri dans le bon semestre
saes[s.semestre] += [s]

View File

@ -1,7 +1,7 @@
import ressource
from ressource import *
import os
import pypandoc
import officiel
import logging
__LOGGER = logging.getLogger(__name__)
@ -27,6 +27,9 @@ for fichieryaml in fichiers_ressources:
r = Ressource(fichieryaml) # lecture du fichier
sem = "S" + str(r.ressource["semestre"])
ressources[sem].append(r)
# tri par code croissant
for sem in ressources:
ressources[sem] = sorted(ressources[sem], key=lambda r: r.ressource["code"])
# Chargement des saé et des exemples
fichiers_definitifs = os.listdir(REPERTOIRE_SAE_DEFINITIVES)
@ -48,6 +51,8 @@ for fichieryaml in fichiers_saes:
sem = "S" + str(s.sae["semestre"])
saes[sem].append(s)
for sem in saes:
saes[sem] = sorted(saes[sem], key=lambda s: s.sae["code"])
exemples = {"S1" : {}, "S2" : {} }
@ -60,9 +65,31 @@ for fichieryaml in fichiers_exemples:
exemples[sem][sae].append(e)
print("ici")
# Export latex des ressources
## Bilan des acs
for sem in ["S1", "S2"]:
M1 = ressource.get_matrices_ac_ressource(saes, ressources, sem)
chaine = ressource.str_matrice(M1, saes, ressources, sem)
#print(chaine)
chaine = ressource.to_latex_matrice_acs(M1, saes, ressources, sem)
REPERTOIRE_SYNTHESE = "../latex/synthese"
fichierlatex = REPERTOIRE_SYNTHESE + "/" + f"{sem}_acs_vs_saes_ressources.tex"
with open(fichierlatex, "w", encoding="utf8") as fid:
fid.write(chaine)
print(f"Export de {fichierlatex}")
coeff1 = ressource.get_matrices_coeffs(saes, ressources, sem)
vol1 = ressource.get_matrices_volumes(saes, ressources, sem)
chaine = ressource.to_latex_matrice_coeffs(vol1, coeff1, saes, ressources, sem)
fichierlatex = REPERTOIRE_SYNTHESE + "/" + f"{sem}_coeffs_saes_ressources.tex"
with open(fichierlatex, "w", encoding="utf8") as fid:
fid.write(chaine)
print(f"Export de {fichierlatex}")
## Export latex divers
if True:
# Export latex des ressources
for sem in ressources:
for r in ressources[sem]:
@ -72,8 +99,7 @@ if True:
fid.write(contenu)
print(f"Export de {fichierlatex} ")
# Export latex des sae
if True:
# Export latex des sae
for sem in saes:
for s in saes[sem]:
@ -83,12 +109,12 @@ if True:
fid.write(contenu)
print(f"Export de {fichierlatex} ")
# Export latex des exemples
for sem in exemples:
for s in exemples[sem]:
for (i, e) in enumerate(exemples[sem][s]):
fichierlatex = REPERTOIRE_LATEX_SAES + "/" + "{}_exemple{}.tex".format(e.exemple["code"].replace("É", "E"), i+1)
contenu = e.to_latex()
with open(fichierlatex, "w", encoding="utf8") as fid:
fid.write(contenu)
print(f"Export de {fichierlatex} ")
# Export latex des exemples
for sem in exemples:
for s in exemples[sem]:
for (i, e) in enumerate(exemples[sem][s]):
fichierlatex = REPERTOIRE_LATEX_SAES + "/" + "{}_exemple{}.tex".format(e.exemple["code"].replace("É", "E"), i+1)
contenu = e.to_latex()
with open(fichierlatex, "w", encoding="utf8") as fid:
fid.write(contenu)
print(f"Export de {fichierlatex} ")

View File

@ -11,7 +11,8 @@ with open("pn/acs.yml", 'r', encoding="utf8") as fid:
DATA_ACS = yaml.load(fid.read(), Loader=yaml.Loader)
with open("pn/saes.yml", 'r', encoding="utf8") as fid:
DATA_SAES = yaml.load(fid.read(), Loader=yaml.Loader)
with open("../yaml/competences/RT123.yml", 'r', encoding="utf8") as fid:
DATA_COMPETENCES = yaml.load(fid.read(), Loader=yaml.Loader)
def supprime_accent_espace(chaine):
"""Met en minuscule, supprime les accents, les ponctuations et les espaces"""
@ -35,41 +36,6 @@ def devine_code_by_nom_from_dict(champ, dico):
return sorted(list(set(acs)))
def get_matrices_ac_ressource(ressources, sem):
"""Calcul la matrice AC vs ressource pour un sem donné et renvoie la
chaine pour affichage dans un .txt"""
les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]]
nbre_acs = len(les_codes_acs)
ressem = ressources[sem] # les ressources du semestre
nbre_ressources_semestre = len(DATA_RESSOURCES[sem])
if len(ressem) != nbre_ressources_semestre:
__LOGGER.warning(f"Pb => il manque des ressources au {sem}")
matrice = [[False] * nbre_ressources_semestre for i in range(nbre_acs)]
for (i, r) in enumerate(ressem): # pour chaque ressource
for comp in r.apprentissages: # pour chaque comp
for (j, ac) in enumerate(les_codes_acs): # pour chaque ac
if ac in r.apprentissages[comp]: # si l'ac est prévue dans la ressource
matrice[j][i] = True
chaine = ""
ligne = "{:20s} | " + "{:4s} | " * nbre_ressources_semestre
valeurs = ("" for i in range(nbre_ressources_semestre + 1))
trait = "-" * len(ligne.format(*valeurs))
valeurs = [""] + [r.code if r.code else "????" for r in ressem] + [""] * (
nbre_ressources_semestre - len(ressem))
valeurs = tuple(valeurs)
chaine += ligne.format(*valeurs) + "\n" + trait + "\n"
for (j, ac) in enumerate(les_codes_acs):
valeurs = [ac] + [("X" if matrice[j][i] == True else "") for i in range(nbre_ressources_semestre)]
valeurs = tuple(valeurs)
chaine += ligne.format(*valeurs) + "\n"
chaine += trait + "\n"
return (matrice, chaine)
def affiche_bilan_heures(ressources, sem):
"""Renvoie une chaine décrivant un bilan des heures pour un sem donné"""
ligne = "{:20s} | {:75s} | {:10s} | {:10s} |"
@ -124,4 +90,7 @@ def get_officiel_sem_sae_by_code(sae):
"""Récupère le semestre de la SAE d'après son code"""
for sem in DATA_SAES:
if sae in DATA_SAES[sem]:
return sem
return sem
if __name__=="__main__":
print(DATA_COMPETENCES)

View File

@ -9,14 +9,20 @@
%% Les compétences et les ACs
\ajoutRcompetence{RT1-Administrer}{\niveauA}
#coeffRT1
#compRT1
\ajoutRcompetence{RT2-Connecter}{\niveauA}
#coeffRT2
#compRT2
\ajoutRcompetence{RT3-Programmer}{\niveauA}
#coeffRT3
#compRT3
% Les SAE
#saes

View File

@ -10,20 +10,24 @@
%% Les compétences et les ACs
\ajoutScompetence{RT1-Administrer}{\niveauA}
#coeffRT1
#compRT1
\ajoutScompetence{RT2-Connecter}{\niveauA}
#coeffRT2
#compRT2
\ajoutScompetence{RT3-Programmer}{\niveauA}
#coeffRT3
#compRT3
% Le description
\ajoutSdescription{
#description
}
\ajoutSdescription{#description}
% Les ressources
#ressources

View File

@ -4,9 +4,10 @@ S1:
SAÉ13: "Découvrir un dispositif de transmission"
SAÉ14: "Se présenter sur Internet"
SAÉ15: "Traiter des données"
SAÉ16: "Portfolio"
S2:
SAÉ21: "Construire un réseau informatique pour une petite structure"
SAÉ22: "Mesurer et caractériser un signal ou un système"
SAÉ23: "Mettre en place une solution informatique pour lentreprise"
SAÉ24: "Projet intégratif de S2"
SAÉ24: "Projet intégratif"

View File

@ -1,13 +1,14 @@
import logging
import string
import pypandoc
import ruamel.yaml
from modeles import get_modele, TemplateLatex
from officiel import DATA_ACS, get_officiel_sae_name_by_code, get_officiel_ressource_name_by_code
from officiel import *
from ressourcedocx import remove_ligne_vide
from tools import caracteres_recalcitrants
__LOGGER = logging.getLogger(__name__)
class Ressource():
"""Modélise une ressource lorsqu'elle est extraite d'un yaml"""
@ -25,26 +26,35 @@ class Ressource():
"""Génère le code latex décrivant la ressource"""
modlatex = get_modele(modele) #"pn/modele_ressource.tex")
# if self.ressource["code"] == "R107":
# print("ici")
if self.ressource["code"] == "R107":
print("ici")
# Préparation des coeffs
ajoutcoeff = "\\ajoutRcoeff{%s}"
coeffRT = []
for comp in ['RT1', 'RT2', 'RT3']:
if comp in self.ressource["coeffs"]:
coeffRT.append(ajoutcoeff % (str(self.ressource["coeffs"][comp])))
else:
coeffRT.append("")
# Préparation des ac
ajoutac = "\\ajoutRac{%s}{%s}"
compRT = []
for accomp in self.ressource["acs"]:
for accomp in ['RT1', 'RT2', 'RT3']:
comps = []
for no_ac in range(len(self.ressource["acs"][accomp])): # les ac de la comp
code_ac = self.ressource["acs"][accomp][no_ac]
comps.append( ajoutac % (code_ac, DATA_ACS[accomp][code_ac]) )
if accomp in self.ressource["acs"]:
for no_ac in range(len(self.ressource["acs"][accomp])): # les ac de la comp
code_ac = self.ressource["acs"][accomp][no_ac]
comps.append( ajoutac % (code_ac, DATA_ACS[accomp][code_ac]) )
compRT.append("\n".join(comps))
# Préparation des sae
ajoutsaes = "\\ajoutRsae{%s}{%s}"
ajoutsaes = "\\ajoutRsae{%s}{%s}" # nom, intitule, code_latex
saesRT = []
for (i, sae) in enumerate(self.ressource["sae"]): # in range(len(self.apprentissages)):
saesRT.append(ajoutsaes % (sae, get_officiel_sae_name_by_code(sae)))
code_latex = string.ascii_uppercase[int(sae[-2])-1] + string.ascii_uppercase[int(sae[-1])-1]
saesRT.append(ajoutsaes % (sae, get_officiel_sae_name_by_code(sae))) # , code_latex))
saes = "\n".join(saesRT)
ajoutprerequis = "\\ajoutRprerequis{%s}{%s}"
@ -64,32 +74,41 @@ class Ressource():
Ressource.__LOGGER.warning(f"{self.ressource['nom']} n'a pas de contexte")
else:
contexte = contexte.replace("\n", "\n\n").replace("\n" * 4,
"\n") # corrige les suppressions de ligne à la relecture du yaml
contexte = md_to_latex(contexte)
output = pypandoc.convert_text(contexte, 'tex', format='md',
extra_args=['--atx-headers'])
output = output.replace("\r\n", "\n")
# contexte.replace("\n", "\n\n").replace("\n" * 4, "\n") # corrige les suppressions de ligne à la relecture du yaml
# output = pypandoc.convert_text(contexte, 'tex', format='md',
# extra_args=['--atx-headers'])
# output = output.replace("\r\n", "\n")
# contexte = caracteres_recalcitrants(output)
contexte = remove_ligne_vide(output)
# contexte = remove_ligne_vide(output)
# contexte = remove_ligne_vide(contexte)
# préparation du contenu
contenu = self.ressource["contenu"] #supprime les passages à la ligne
contenu = contenu.replace("\n", "\n\n").replace("\n"*4, "\n") # corrige les suppressions de ligne à la relecture du yaml
# contenu = contenu.replace("\n", "\n\n").replace("\n"*4, "\n") # corrige les suppressions de ligne à la relecture du yaml
output = pypandoc.convert_text(contenu, 'tex', format='md',
extra_args=['--atx-headers'])
output = output.replace("\r\n", "\n")
# output = pypandoc.convert_text(contenu, 'tex', format='md',
# extra_args=['--atx-headers'])
# output = output.replace("\r\n", "\n")
# contenu = caracteres_recalcitrants(output)
contenu = remove_ligne_vide(output)
# contenu = remove_ligne_vide(output)
if contenu:
if self.ressource["code"] == "R112":
print("ici")
contenu = md_to_latex(contenu)
chaine = ""
chaine = TemplateLatex(modlatex).substitute(code=self.ressource["code"],
nom=self.ressource["nom"],
heures_formation=self.ressource["heures_formation"],
heures_tp=self.ressource["heures_tp"],
coeffRT1=coeffRT[0],
coeffRT2=coeffRT[1],
coeffRT3=coeffRT[2],
compRT1=compRT[0],
compRT2=compRT[1],
compRT3=compRT[2],
@ -117,18 +136,31 @@ class SAE():
except:
Ressource.__LOGGER.warning(f"Pb de chargement de {fichieryaml}")
def to_latex(self, modele="pn/modele_sae.tex"):
"""Génère le code latex décrivant la ressource"""
modlatex = get_modele(modele) #"pn/modele_ressource.tex")
# Préparation des coeffs
ajoutcoeff = "\\ajoutScoeff{%s}"
coeffRT = []
for comp in ['RT1', 'RT2', 'RT3']:
if comp in self.sae["coeffs"]:
coeffRT.append(ajoutcoeff % (str(self.sae["coeffs"][comp])))
else:
coeffRT.append("")
# Préparation des ac
ajoutac = "\\ajoutSac{%s}{%s}"
ajoutac = "\\ajoutSac{%s}{%s}" # nom, intitule, code latex
compRT = []
for accomp in self.sae["acs"]:
for accomp in ['RT1', 'RT2', 'RT3']:
comps = []
for no_ac in range(len(self.sae["acs"][accomp])): # les ac de la comp
code_ac = self.sae["acs"][accomp][no_ac]
comps.append( ajoutac % (code_ac, DATA_ACS[accomp][code_ac]) )
if accomp in self.sae["acs"]:
for no_ac in range(len(self.sae["acs"][accomp])): # les ac de la comp
code_ac = self.sae["acs"][accomp][no_ac]
comps.append( ajoutac % (code_ac, DATA_ACS[accomp][code_ac]) )
compRT.append("\n".join(comps))
# Préparation des ressources
@ -161,6 +193,9 @@ class SAE():
heures_encadrees=self.sae["heures_encadrees"],
heures_tp=self.sae["tp"],
heures_projet=self.sae["projet"],
coeffRT1=coeffRT[0],
coeffRT2=coeffRT[1],
coeffRT3=coeffRT[2],
compRT1=compRT[0],
compRT2=compRT[1],
compRT3=compRT[2],
@ -241,10 +276,356 @@ def md_to_latex(contenu):
contenu = pypandoc.convert_text(contenu, 'tex', format='md',
extra_args=['--atx-headers'])
contenu = contenu.replace("\r\n", "\n")
lignes = contenu.split("\n\n") # Détecte les sauts de ligne
for (i, ligne) in enumerate(lignes):
if i < len(lignes)-1:
if lignes[i].strip().startswith("\\") == False and \
lignes[i].startswith(" ") == False and \
lignes[i+1].strip().startswith("\\") == False and \
lignes[i+1].startswith(" ") == False and \
lignes[i].strip().endswith("\\\\") == False:
lignes[i] = lignes[i] + "\\\\" # ajoute un passage à la ligne latex
contenu = "\n\n".join(lignes)
# contenu = caracteres_recalcitrants(contenu)
contenu = remove_ligne_vide(contenu)
lignes = contenu.split("\n") # pour debug
if contenu.startswith("\\begin{itemize}"):
contenu = "\\vspace{-5pt}\n" + contenu # ajout d'un offset en cas de liste à puces
return contenu
contenu = contenu.replace("\\\\"*2, "\\\\")
return contenu
def get_matrices_ac_ressource(saes, ressources, sem):
"""Calcule la matrice AC vs sae + ressource pour un sem donné et la renvoie"""
les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]]
nbre_acs = len(les_codes_acs)
saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(DATA_SAES[sem])
nbre_ressources = len(DATA_RESSOURCES[sem])
if len(saesem)!= nbre_saes or len(ressem) != nbre_ressources:
__LOGGER.warning(f"Pb => il manque des saes/ressources au {sem}")
matrice = [[False] * (nbre_saes + nbre_ressources) for i in range(nbre_acs)]
for (i, s) in enumerate(saesem): # pour chaque SAE
for comp in s.sae["acs"]: # pour chaque comp
for (j, ac) in enumerate(les_codes_acs): # pour chaque ac
if ac in s.sae["acs"][comp]: # si l'ac est prévue dans la ressource
matrice[j][i] = True
for (i, r) in enumerate(ressem): # pour chaque ressource
for comp in r.ressource["acs"]: # pour chaque comp
for (j, ac) in enumerate(les_codes_acs): # pour chaque ac
if ac in r.ressource["acs"][comp]: # si l'ac est prévue dans la ressource
matrice[j][i+nbre_saes] = True
return matrice
def get_matrices_coeffs(saes, ressources, sem):
"""Calcule la matrice AC vs sae + ressource pour un sem donné et la renvoie"""
comps = ['RT1', 'RT2', 'RT3']
saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(DATA_SAES[sem])
nbre_ressources = len(DATA_RESSOURCES[sem])
if len(saesem)!= nbre_saes or len(ressem) != nbre_ressources:
__LOGGER.warning(f"Pb => il manque des saes/ressources au {sem}")
matrice = [[None] * (len(comps)) for i in range(nbre_saes + nbre_ressources)]
for (i, s) in enumerate(saesem): # pour chaque SAE
for (j, comp) in enumerate(comps): # pour chaque comp
if comp in s.sae["coeffs"]:
matrice[i][j] = s.sae["coeffs"][comp]
for (i, r) in enumerate(ressem): # pour chaque ressource
for (j, comp) in enumerate(comps): # pour chaque comp
if comp in r.ressource["coeffs"]: # pour chaque ac
matrice[i+nbre_saes][j] = r.ressource["coeffs"][comp]
return matrice
def get_matrices_volumes(saes, ressources, sem):
"""Calcule la matrice AC vs sae + ressource pour un sem donné et la renvoie"""
format = ['CM/TD', 'TP', 'Projet']
saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(DATA_SAES[sem])
nbre_ressources = len(DATA_RESSOURCES[sem])
if len(saesem)!= nbre_saes or len(ressem) != nbre_ressources:
__LOGGER.warning(f"Pb => il manque des saes/ressources au {sem}")
matrice = [[0] * (len(format)) for i in range(nbre_saes + nbre_ressources)]
for (i, s) in enumerate(saesem): # pour chaque SAE
formation = s.sae["heures_encadrees"] if not isinstance(s.sae["heures_encadrees"], str) else 0
tp = s.sae["tp"] if not isinstance(s.sae["tp"], str) else 0
matrice[i][0] = formation - tp
matrice[i][1] = tp
matrice[i][2] = s.sae["projet"] if not isinstance(s.sae["projet"], str) else 0
for (i, r) in enumerate(ressem): # pour chaque ressource
formation = r.ressource["heures_formation"] if not isinstance(r.ressource["heures_formation"], str) else 0
tp = r.ressource["heures_tp"] if not isinstance(r.ressource["heures_tp"], str) else 0
matrice[i + nbre_saes][0] = formation - tp
matrice[i + nbre_saes][1] = tp
return matrice
def str_matrice(matrice, saes, ressources, sem):
"""Renvoie une chaine de caractère affichant la matrice"""
les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]]
nbre_acs = len(les_codes_acs)
saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(DATA_SAES[sem])
nbre_ressources = len(DATA_RESSOURCES[sem])
chaine = ""
ligne = "{:20s} | " + "{:5s} | " * (nbre_saes + nbre_ressources)
valeurs = ("" for i in range(nbre_saes + nbre_ressources + 1))
trait = "-" * len(ligne.format(*valeurs))
valeurs = [""] + [s.sae["code"] if s.sae["code"] else "????" for s in saesem] +\
[r.ressource["code"] if r.ressource["code"] else "????" for r in ressem] + [""] * (nbre_saes - len(saesem) + nbre_ressources - len(ressem))
valeurs = tuple(valeurs)
chaine += ligne.format(*valeurs) + "\n" + trait + "\n"
for (j, ac) in enumerate(les_codes_acs):
valeurs = [ac] + [("X" if matrice[j][i] == True else "") for i in range(nbre_saes + nbre_ressources )]
valeurs = tuple(valeurs)
chaine += ligne.format(*valeurs) + "\n"
chaine += trait + "\n"
return chaine
def cesure_contenu(contenu, long_max = 30):
chaine = "\\rotatebox[origin=c]{90}{\n"
chaine += "\\begin{tabular}{ll}\n"
contenu_cesure = []
while contenu:
indice_espace = contenu.find(" ", long_max)
if indice_espace<0:
contenu_cesure.append(contenu)
contenu = ""
else:
contenu_cesure.append(contenu[:indice_espace])
contenu = contenu[indice_espace+1:]
chaine += " \\\\ ".join(contenu_cesure)
chaine += "\\end{tabular} }"
return chaine
def rotation_entete_colonne(contenu, pos="l"):
chaine = "\\rotatebox[origin=" + pos + "]{90}{"
chaine += contenu + "}"
return chaine
def to_latex_matrice_acs(matrice, saes, ressources, sem):
"""Renvoie le tableau latex affichant la matrice"""
les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]]
nbre_acs = len(les_codes_acs)
lettresem = "A" if sem=="S1" else "B"
saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(DATA_SAES[sem])
nbre_ressources = len(DATA_RESSOURCES[sem])
nbre_colonnes = nbre_saes + nbre_ressources + 2
chaine = "\\begin{tabular}[c]{|lp{3.5cm}||" + "c|"*(nbre_saes) + "|" + "c|"*(nbre_ressources) + "}" + "\n"
chaine += "\\hline \n" # % (nbre_saes + nbre_ressources+1)+ "\n"
# l'entete
chaine += " & & "
chaine += "\multicolumn{%d}{c||}{\\bfseries SAÉs}" % (nbre_saes) + "\n"
chaine += " & "
chaine += "\multicolumn{%d}{c|}{\\bfseries Ressources}" % (nbre_ressources) + "\\\\ \n"
chaine += "\\cline{3-%d}" % (nbre_colonnes)
chaine += " & & "
# les noms des SAE et des ressources
noms_saes = []
for (i, s) in enumerate(saesem): # pour chaque SAE
# saecode = "Scode" + lettresem + string.ascii_uppercase[i]
# contenu = "\\xdef\saecode{\csname " + saecode + "\endcsname}"
# contenu += "\\tiny{\\hyperlink{sae:\\saecode}{" + s.sae["titre"] + "~}}"
contenu = "\\tiny{" + s.sae["titre"] + "~}"
noms_saes.append(rotation_entete_colonne(contenu) + "\n")
chaine += " & ".join(noms_saes) + "\n"
chaine += " & "
noms_ressources = []
for (i, r) in enumerate(ressem): # pour chaque SAE
# contenu = r.ressource["code"] + " | " + r.ressource["nom"]
# noms_ressources.append(rotation_entete_colonne(contenu) + "\n")
contenu = "\\tiny{" + r.ressource["nom"] + "~}"
noms_ressources.append(rotation_entete_colonne(contenu) + "\n")
chaine += " & ".join(noms_ressources) + "\n"
chaine += "\\\\ \n"
# les codes des SAE et des ressources
noms_saes = []
chaine += " & & \n"
for (i, s) in enumerate(saesem): # pour chaque SAE
contenu = "~" + s.sae["code"] + "~|"
noms_saes.append(rotation_entete_colonne(contenu, pos="r") + "\n")
chaine += " & ".join(noms_saes) + "\n"
chaine += " & "
noms_ressources = []
for (i, r) in enumerate(ressem): # pour chaque SAE
contenu = "~" + r.ressource["code"] + "~|"
noms_ressources.append(rotation_entete_colonne(contenu, pos="r") + "\n")
chaine += " & ".join(noms_ressources) + "\n"
chaine += "\\\\ \n"
chaine += "\\hline \n"
# Les ACS et les croix
no_ac = 0
for comp in DATA_ACS:
nom_comp = DATA_COMPETENCES[comp]["nom"]
niveau = list(DATA_COMPETENCES[comp]["niveaux"].keys())[0]
chaine += "\\multicolumn{%d}{|l|}{\\bfseries %s - %s } \\\\" % (nbre_colonnes, comp, nom_comp.replace("&", "\&"))
chaine += "\\multicolumn{%d}{|l|}{\small Niveau 1 - %s} \\\\" % (nbre_colonnes, niveau.replace("&", "\&"))
chaine += "\\hline \n"
for (k, ac) in enumerate(DATA_ACS[comp]):
chaine += ac + " | & " + "\n"
chaine += "\\begin{tabular}{p{3.2cm}} \\tiny{" + DATA_ACS[comp][ac] + "} \\end{tabular} & \n"
croix = []
for (i, s) in enumerate(saesem): # pour chaque SAE
croix.append("$\\times$" if matrice[no_ac + k][i] == True else "")
chaine += " & ".join(croix) + "\n"
chaine += " & "
croix = []
for (j, r) in enumerate(ressem): # pour chaque SAE
croix.append("$\\times$" if matrice[no_ac + k][nbre_saes + j] == True else "")
chaine += " & ".join(croix) + "\\\\ \n"
# if k < len(DATA_ACS[comp]) -1:
# chaine += "\\cline{2-%d}" % (nbre_saes+ nbre_ressources+3)
chaine += "\\hline \n"
chaine += "\\hline \n"
chaine += "\\end{tabular}"
return chaine
def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem):
"""Renvoie le tableau latex affichant la matrice"""
def str_coeff(val):
if val == None:
return ""
else:
return str(val)
def str_volume(val):
if val:
return str(val) + "h"
else:
return " "
comps = ['RT1', 'RT2', 'RT3']
lettresem = "A" if sem == "S1" else "B"
saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(saesem)
nbre_colonnes = len(comps) + 3
chaine = "\\begin{tabular}[c]{|rcp{6cm}||" + "c|" * 2 + "|c|" + "|" + "c|"*(len(comps)) + "}" + "\n"
chaine += "\\hline \n" # % (nbre_saes + nbre_ressources+1)+ "\n"
# le début
chaine += " & & & " + "\\multicolumn{3}{c||}{\\bfseries Volumes} \n"
chaine += " & " + "\\multicolumn{3}{c|}{\\bfseries Coefficients} \n"
chaine += " \\\\ \\hline \n"
# l'entete
chaine += " & & & "
# Volume
chaine += rotation_entete_colonne("\\bfseries Heures de formation encadrée") + " & "
chaine += rotation_entete_colonne("\\bfseries Heures de TPs") + " & "
chaine += rotation_entete_colonne("\\bfseries Heures de projets") + " & "
# les noms des comps
noms = []
for (i, comp) in enumerate(comps): # pour chaque SAE
contenu = "\\begin{tabular}{p{5cm}}\n"
contenu += "\\bfseries " + comp + " - " + DATA_COMPETENCES[comp]["nom"].replace("&", "\&") + "\\\\ \n"
niveau = list(DATA_COMPETENCES[comp]["niveaux"].keys())[0]
contenu += " \\small Niveau 1 - " + niveau.replace("&", "\&") + "\n"
contenu += "\\end{tabular}\n"
noms.append(rotation_entete_colonne(contenu) + "\n")
chaine += " & ".join(noms) + "\n"
chaine += "\\\\ \n"
chaine += "\\hline"
chaine += "\\hline"
chaine += "\multicolumn{%d}{|l}{\\bfseries SAÉs}" % (nbre_colonnes) + "\n"
chaine += "\\\\ \n"
chaine += "\\hline "
# le nom des SAE
for (i, s) in enumerate(saesem): # pour chaque SAE
chaine += s.sae["code"] + "& | & " + "\n"
chaine += "\\begin{tabular}{p{5.7cm}} \\tiny{" + s.sae["titre"] + "} \\end{tabular} & \n"
chaine += str_volume(matrice_vols[i][0]) + " & "
chaine += str_volume(matrice_vols[i][1]) + " & "
chaine += str_volume(matrice_vols[i][2]) + " & "
chaine += " & ".join([str_coeff(matrice_coeffs[i][j]) for j in range(len(comp))])
chaine += "\\\\ \n"
chaine += "\\hline "
chaine += "\\hline "
# Les ressources et les coeff
chaine += "\multicolumn{%d}{|l}{\\bfseries Ressources}" % (nbre_colonnes) + "\n"
chaine += "\\\\ \n"
chaine += "\\hline "
for (i, r) in enumerate(ressem): # pour chaque SAE
chaine += r.ressource["code"] + "& | & " + "\n"
chaine += "\\begin{tabular}{p{5.7cm}} \\tiny{" + r.ressource["nom"] + "} \\end{tabular} & \n"
chaine += str_volume(matrice_vols[i + nbre_saes][0]) + " & "
chaine += str_volume(matrice_vols[i + nbre_saes][1]) + " & "
chaine += " & "
chaine += " & ".join([str_coeff(matrice_coeffs[i + nbre_saes][j]) for j in range(len(comp))])
chaine += "\\\\ \n"
chaine += "\\hline "
# Total
total_heures = get_total_nbre_heures(matrice_vols)
# total_heures_sae = get_total_nbre_heures(matrice_vols[0:nbre_saes][:])
# total_heures_ressources = get_total_nbre_heures(matrice_vols[nbre_saes+1:][:])
total_coeffs = get_total_coeffs(matrice_coeffs)
chaine += "\\hline "
chaine += "\multicolumn{%d}{|l}{\\bfseries Total}" % (nbre_colonnes) + "\n"
chaine += "\\\\ \n"
chaine += "\\hline "
chaine += " & & "
for i in range(3):
chaine += " & " + str(total_heures[i]) + "h"
for i in range(3):
chaine += " & " + str(total_coeffs[i])
chaine += "\\\\ \\hline"
chaine += "\\end{tabular}"
return chaine
def get_total_nbre_heures(matrice_heures):
"""Calcul le nombre d'heures total des SAé d'après la matrice"""
sommes = [sum([matrice_heures[i][j] for i in range(len(matrice_heures)) if matrice_heures[i][j]]) for j in range(3)]
return sommes
def get_total_coeffs(matrice_coeffs):
sommes = [sum([matrice_coeffs[i][j] for i in range(len(matrice_coeffs)) if matrice_coeffs[i][j]]) for j in range(3)]
return sommes

View File

@ -19,10 +19,14 @@ class Docx():
self.semestre = None # le semestre de la ressource/saé (chargé ultérieurement)
self.apprentissages = None # les acs (chargés ultérieurement)
self.mots = None # les mots-clés chargés ultérieurement
self.coeffs = None # chargés ultérieurement
def charge_ac(self, apprentissages):
self.apprentissages = apprentissages
def charge_coeffs(self, coeffs):
self.coeffs = coeffs
def __str__(self):
print(self.nom + " " + self.code)
@ -61,7 +65,8 @@ class Docx():
Docx.__LOGGER.warning(f"Dans {self.nom}, revoir les ACS : {acs_avec_code} vs {acs_avec_nom}")
acs_finaux = sorted(list(set(acs_avec_code + acs_avec_nom)))
dico["RT" + str(comp + 1)] = acs_finaux
if acs_finaux:
dico["RT" + str(comp + 1)] = acs_finaux
self.apprentissages = dico # Mise à jour du champ
@ -91,6 +96,18 @@ class Docx():
Docx.__LOGGER.warning(f"nettoie_titre : {old} => titre deviné \"{titre}\"")
self.nom = titre
def nettoie_coeffs(self):
coeffs_finaux = {}
for (comp, chaine) in enumerate(self.coeffs):
if "coef" in chaine: # s'il y a un coeff
champ = chaine.split(" ")
coeff = eval(champ[1])
coeffs_finaux["RT" + str(comp + 1)] = coeff
elif "X" in chaine:
coeff = 0
coeffs_finaux["RT" + str(comp + 1)] = coeff
self.coeffs = coeffs_finaux
def dico_to_yaml(self, dico):
output = ruamel.yaml.dump(dico, Dumper=ruamel.yaml.RoundTripDumper,
allow_unicode=True, width=100)
@ -262,6 +279,7 @@ class RessourceDocx(Docx):
self.nettoie_sae()
self.nettoie_prerequis()
self.nettoie_mots_cles()
self.nettoie_coeffs()
# Remet en forme le descriptif
self.split_description()
@ -274,6 +292,7 @@ class RessourceDocx(Docx):
"semestre" : int(self.semestre[1]),
"heures_formation": self.heures_encadrees if self.heures_encadrees else "???",
"heures_tp": self.tp if self.tp else "???",
"coeffs": self.coeffs,
"acs": self.apprentissages,
"sae": self.sae,
"prerequis": self.prerequis,
@ -326,7 +345,7 @@ def devine_ressources_by_code(champ):
"""
codes1 = re.findall(r"(R\d{3})", champ) # de code à 3 chiffres
codes2 = re.findall(r"(R\d{3}\D)", champ)
codes = codes1 + [c.strip() for c in codes2]
codes = codes1 + [c.strip() for c in codes2 if "|" not in c]
return sorted(list(set(codes)))
def devine_ressources_by_nom(donnees):
@ -362,14 +381,21 @@ def remove_ligne_vide(contenus):
if isinstance(contenus, list):
return [c for c in contenus if c.rstrip()]
else: # contenu = chaine
temp = contenus.split("\n")
temp = [t for t in temp if t.replace("\t", "").rstrip()]
return "\n".join(temp)
if get_marqueurs(contenus):
temp = contenus.split("\n")
temp = [t for t in temp if t.replace("\t", "").rstrip()]
return "\n".join(temp)
else: # pas de marqueur => respect des paragraphes
contenus = contenus.replace("\n\n", "\\\\\n")
temp = contenus.split("\n")
temp = [t for t in temp if t.replace("\t", "").rstrip()]
return "\n".join(temp)
def get_marqueur_numerique(contenu):
"""Revoie la liste des marqueurs numériques"""
m = re.findall(r"(\d/|\d\s/)", contenu)
m += re.findall(r"(\d\s\)|\d\))", contenu) # les marqueurs de la forme 1)
#m += re.findall(r"(\d\s\)|\d\))", contenu) # les marqueurs de la forme 1)
m += re.findall(r"(\d\s\))", contenu)
m += re.findall(r"(--)\s", contenu)
m += re.findall(r"(--)\t", contenu)
return m
@ -508,17 +534,32 @@ class SAEDocx(Docx):
def nettoie_ressources(self):
"""Nettoie le champ ressource d'une sae en détectant les codes"""
if "24" in self.code:
print("ici")
self.ressources = nettoie_liste_ressources(self.ressources)
if not self.ressources:
SAEDocx.__LOGGER.warning(f"nettoie_ressources: dans {self.nom} pas de ressources (:")
def nettoie_description(self):
"""Nettoie le champ description"""
self.description = convert_to_markdown(self.description)
if self.description:
self.description = convert_to_markdown(self.description)
else:
self.description = ""
def nettoie_champs(self):
"""Lance le nettoyage de tous les champs de la saé"""
self.nettoie_heures_sae()
self.nettoie_semestre()
self.nettoie_acs()
self.nettoie_ressources()
self.nettoie_description()
self.nettoie_livrables_sae()
self.nettoie_mots_cles()
self.nettoie_coeffs()
def to_yaml(self):
"""Exporte la ressource en yaml"""
"""Exporte la saé en yaml"""
dico = {"titre": self.nom,
"code": self.code,
"semestre": int(self.semestre[1]),
@ -526,6 +567,7 @@ class SAEDocx(Docx):
"tp": self.tp if self.tp else "???",
"projet": self.projet if self.projet else "???",
"description": folded(self.description),
"coeffs": self.coeffs,
"acs": self.apprentissages,
"ressources": self.ressources,
"livrables": folded(self.livrables),

View File

@ -3,13 +3,15 @@ code: R113
semestre: 1
heures_formation: 30
heures_tp: 6
coeffs:
RT1: 5
RT2: 8
acs:
RT1:
- AC0111
RT2:
- AC0211
- AC0212
RT3: []
sae:
- SAÉ13
- SAÉ22

View File

@ -3,13 +3,15 @@ code: R114
semestre: 1
heures_formation: 30
heures_tp: 6
coeffs:
RT1: 4
RT2: 8
acs:
RT1:
- AC0111
RT2:
- AC0211
- AC0212
RT3: []
sae:
- SAÉ13
- SAÉ22