
\NeedsTeXFormat{LaTeX2e}[1999/01/01]
\ProvidesPackage{macros_formations}[2021/03/28]

% Déclaration des options
% *********************************************************************
%% Option noir et blanc
%\newif\if@noiretblanc \@noiretblancfalse	
%\DeclareOption{noiretblanc}{\@noiretblanctrue}

% Option mots-cles (affichage des mots-cles)
\newif\if@motscles \@motsclesfalse	
\DeclareOption{motscles}{\@motsclestrue}

\DeclareOption*{}%% Ne rien faire quand une option est inconnue
\ProcessOptions

% ******************************************
% Intitulés standards des niveaux
% ******************************************
\def\niveauA{Niveau 1} % Novice
\def\niveauB{Niveau 2} % Interm\'{e}diaire}
\def\niveauC{Niveau 3} % Comp\'{e}tent}


% **************************************
% Variables globales
% **************************************
\newcounter{cptsemestre} % 
\newcounter{cptR} %
\newcounter{cptsae}

\xdef\comploop{A,B,C} % Les compétences de la ressource
\xdef\acloop{A,B,C,D,E,F} % Les contenus (rarement plus de 15) 
\xdef\contenuloop{A,B,C,D,E,F,G,H,I,J} % Les contenus (rarement plus de 10) 
\xdef\ressourcesaeloop{A,B,C,D,E,F,G,H,I,J}


% ****************************************
% La spécialité
% ****************************************
\def\specialite#1{\def\specialitename{#1}}

% ****************************************
% Semestre (numéroté avec \cptsemestre)
% ****************************************
% \nouveausemestre{}
\def\nouveausemestre#1{
	\addtocounter{cptsemestre}{1} % Incrémente le compteur de semestre
	
	\setcounter{cptR}{0} % RAZ du compteur de ressource total
	\setcounter{cptsae}{0}
	
	\def\currentsemestre{\Alph{cptsemestre}} % Lettre du semestre courant : A=1, B=2, ...
	\newcounter{cptR\currentsemestre} % le compteur des ressources dans le semestre
	\newcounter{cptS\currentsemestre} % le compteur des sae dans le semestre

	\expandafter\def\csname semestrename\currentsemestre\endcsname{Semestre \arabic{cptsemestre}}
	\expandafter\def\csname semestrenumero\currentsemestre\endcsname{\arabic{cptsemestre}}
}


%*****************************
% Ressources
% ****************************

% ****************************
% Déclaration de la ressource : 
% \nouvelleressource{code_ressource}{intitule_ressource}
\def\nouvelleressource#1#2{
	\addtocounter{cptR}{1} % Ajoute une ressource (tous semestres confondu)
	\addtocounter{cptR\currentsemestre}{1} % Ajoute une ressource au semestre
	\def\currentRressource{\currentsemestre\Alph{cptR}} % Ressource RAA = A pour semestre 1 puis A pour ressource n°1

	\expandafter\xdef\csname Rcode\currentRressource\endcsname{#1} % code
	\expandafter\xdef\csname Rname\currentRressource\endcsname{#2} % nom/intitule
	\expandafter\xdef\csname Rsem\currentRressource\endcsname{\csname semestrenumero\currentsemestre\endcsname} % nom du semestre
	
	\newcounter{cptRcomp\currentRressource} % le compteur de compétences rattachées à la ressource
	\newcounter{cptRsae\currentRressource} % Le compteur de sae
	\newcounter{cptRprerequis\currentRressource}
}

% ****************************
% Ajout des heures à la ressource courante
\def\ajoutRheures#1#2{
	\expandafter\xdef\csname Rtraining\currentRressource\endcsname{#1} % heures de formation encadrées
	\expandafter\xdef\csname Rtp\currentRressource\endcsname{#2} % heures de projet
}

% ****************************
% Ajout du descriptif (ancrage professionnel)
\def\ajoutRancrage#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname Rancrage\currentRressource\endcsname{\noexpand #1} % descriptif
	\endgroup
}

% ****************************
% Ajout des contenus
\def\ajoutRcontenudetaille#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname Rcontenu\currentRressource\endcsname{\noexpand #1} % liste de contenu
	\endgroup
}

% ****************************
% Ajout des compétences 
% \ajoutcompetence{nom_competence}{niveau}
\def\ajoutRcompetence#1#2{
	\addtocounter{cptRcomp\currentRressource}{1} % le compteur de la comp dans la ressource
	\xdef\currentRcomp{\Alph{cptRcomp\currentRressource}} % La lettre de la comp dans la ressource
	
	
	\expandafter\xdef\csname Rcomp\currentRressource\currentRcomp\endcsname{#1} % le nom de la comp
	\expandafter\xdef\csname Rniveau\currentRressource\currentRcomp\endcsname{#2} % le nom de la comp
	
	\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{
	\addtocounter{cptRac\currentRressource\currentRcomp}{1} % le compteur de l'ac pour la comp dans la ressource
	\xdef\currentRac{\Alph{cptRac\currentRressource\currentRcomp}} % La lettre de l'ac pour la comp dans la ressource
	
	\expandafter\xdef\csname Raccode\currentRressource\currentRcomp\currentRac\endcsname{#1} % le nom de la comp
	\begingroup\let\+\relax
	\expandafter\gdef\csname Racname\currentRressource\currentRcomp\currentRac\endcsname{#2} % le nom de la comp
	\endgroup
}

% ****************************
% Ajout des SAE
\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} %
}

% ****************************
% Ajout des prerequis
%% pré-requis autre qu'une ressource (ex: A2-B1 en anglais)
\def\ajoutRprerequislycee#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname Rprerequislycee\currentRressource\endcsname{#1} % descriptif
	\endgroup
}

\def\ajoutRprerequis#1#2{
	\addtocounter{cptRprerequis\currentRressource}{1} % le compteur du prerequis dans la ressource
	\xdef\currentprerequis{\Alph{cptRprerequis\currentRressource}} % La lettre
	
	\expandafter\xdef\csname Rprerequiscode\currentRressource\currentprerequis\endcsname{#1} %
	\expandafter\xdef\csname Rprerequisname\currentRressource\currentprerequis\endcsname{#2} %
}

% ****************************
% Ajout des mots-clés
\def\ajoutRmotscles#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname Rmotscles\currentRressource\endcsname{#1} % descriptif
	\endgroup
}


% **********************************************
% Déclaration d'une SAé
% **********************************************


% ****************************
% Déclaration de la saé :
% \nouvellesae{code_sae}{intitule_sae}
\def\nouvellesae#1#2{
	\addtocounter{cptsae}{1} % Ajoute une ressource (tous semestres confondu)
	\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

	\newcounter{cptScomp\currentSsae} % le compteur de compétences rattachées à la ressource
	\newcounter{cptSressource\currentSsae} % Le compteur de ressources dans la SAé
	\newcounter{cptSexemple\currentSsae} % Le compteur d'exemples d'une SAE


}

% ****************************
% Ajout des heures à la saé courante
\def\ajoutSheures#1#2#3{
	\expandafter\xdef\csname Straining\currentSsae\endcsname{#1} % heures de formation encadrées
	\expandafter\xdef\csname Stp\currentSsae\endcsname{#2} % heures de tp
	\expandafter\xdef\csname Sprojet\currentSsae\endcsname{#3} % heures de projet
}

% ****************************
% Ajout du descriptif (description des objectifs)
\def\ajoutSdescription#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname Sdescriptif\currentSsae\endcsname{\noexpand #1} % descriptif
	\endgroup
}


% ****************************
% Ajout des compétences
% \ajoutcompetence{nom_competence}{niveau}
\def\ajoutScompetence#1#2{
	\addtocounter{cptScomp\currentSsae}{1} % le compteur de la comp dans la ressource
	\xdef\currentScomp{\Alph{cptScomp\currentSsae}} % La lettre de la comp dans la ressource


	\expandafter\xdef\csname Scomp\currentSsae\currentScomp\endcsname{#1} % le nom de la comp
	\expandafter\xdef\csname Sniveau\currentSsae\currentScomp\endcsname{#2} % le nom de la comp

	\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{
	\addtocounter{cptSac\currentSsae\currentScomp}{1} % le compteur de l'ac pour la comp dans la ressource
	\xdef\currentSac{\Alph{cptSac\currentSsae\currentScomp}} % La lettre de l'ac pour la comp dans la ressource

	\expandafter\xdef\csname Saccode\currentSsae\currentScomp\currentSac\endcsname{#1} % le nom de la comp
	\begingroup\let\+\relax
	\expandafter\gdef\csname Sacname\currentSsae\currentScomp\currentSac\endcsname{#2} % le nom de la comp
	\endgroup
}

% ****************************
% 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{\Roman{cptSressource\currentSsae}} % La lettre

	\expandafter\xdef\csname Sressourcecode\currentSsae\currentSressource\endcsname{#1} %
	\expandafter\xdef\csname Sressourcename\currentSsae\currentSressource\endcsname{#2} %
}

	% ****************************
% Ajout des livrables
\def\ajoutSlivrables#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname Slivrables\currentSsae\endcsname{\noexpand #1} % descriptif
	\endgroup
}

% ****************************
% Ajout des mots-clés
\def\ajoutSmotscles#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname Smotscles\currentSsae\endcsname{#1} % mots-clés
	\endgroup
}

% *********************************************
% Exemples de SAE
% *********************************************
\def\nouvelexemple#1{
	\addtocounter{cptSexemple\currentSsae}{1} % Ajoute un exemple (tous semestres confondu)
	\def\currentESsae{\currentSsae\Alph{cptSexemple\currentSsae}} %

	\expandafter\xdef\csname ESsae\currentESsae\endcsname{\csname Sname\currentSsae\endcsname} % nom de la SAE
	\begingroup\let\+\relax
	\expandafter\gdef\csname ESname\currentESsae\endcsname{#1} % nom/intitule
	\endgroup
	\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
}

% La description
\def\ajoutESdescription#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname ESdescription\currentESsae\endcsname{\noexpand #1} % descriptif
	\endgroup
}

% Les formes pédagogique
\def\ajoutESformes#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname ESformes\currentESsae\endcsname{\noexpand #1} % descriptif
	\endgroup
}

% La problématique
\def\ajoutESproblematique#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname ESproblematique\currentESsae\endcsname{\noexpand #1} % descriptif
	\endgroup
}

% La modalité
\def\ajoutESmodalite#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname ESmodalite\currentESsae\endcsname{\noexpand #1} % descriptif
	\endgroup
}

% *************************************
\definecolor{colormotscle}{RGB}{120, 185, 235}

\def\motscles#1{
	\if@motscles 
		\small \textcolor{colormotscle}{(#1)}
	\fi
}