
\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{cptressource} % 
\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{cptressource}{0} % RAZ du compteur de ressource
	\setcounter{cptsae}{0}
	
	\def\currentsemestre{\Alph{cptsemestre}} % Lettre du semestre courant : A=1, B=2, ...
	\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{cptressource}{1} % Ajoute une compétence
	
	\def\currentressource{\currentsemestre\Alph{cptressource}} % Ressource RAA = A pour semestre 1 puis A pour ressource n°1
	\expandafter\xdef\csname ressourcecode\currentressource\endcsname{#1} % code
	\expandafter\xdef\csname ressourcename\currentressource\endcsname{#2} % nom/intitule
	\expandafter\xdef\csname ressourcesem\currentressource\endcsname{\csname semestrenumero\currentsemestre\endcsname} % nom du semestre
	
	\newcounter{cptcontenu\currentressource}  % le compteur de contenu pour la ressource, mis à 0
	\newcounter{cptressourcecomp\currentressource} % le compteur de compétences rattachées à la ressource
	\newcounter{cptressourcesae\currentressource} % Le compteur de sae
	\newcounter{cptressourceprerequis\currentressource}
	
	%\definecollection{ressourcedescription\currentressource}
}

% Ajout des heures à la ressource courante
\def\ajoutheures#1#2{
	\expandafter\xdef\csname ressourcetraining\currentressource\endcsname{#1} % heures de formation encadrées
	\expandafter\xdef\csname ressourcetp\currentressource\endcsname{#2} % heures de projet
}

% Ajout du descriptif (ancrage)
\def\ajoutancrage#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname ressourceancrage\currentressource\endcsname{\noexpand #1} % descriptif
	\endgroup
}

% Ajout des contenus
\def\ajoutcontenudetaille#1{
	\begingroup\let\+\relax
	\expandafter\gdef\csname ressourcecontenudetaille\currentressource\endcsname{\noexpand #1} % liste de contenu
	\endgroup
}

%% Ajout des contenus principaux : introduction éventuelle
%\def\ajoutintrocontenu#1{
	%\expandafter\xdef\csname ressourceintrocontenu\currentressource\endcsname{#1} % descriptif
%}
%
%% Ajout des contenus principaux
%\def\ajoutcontenu#1{
	%\addtocounter{cptcontenu\currentressource}{1} % Ajoute un contenu (aka un item à la liste des contenus)
	%\xdef\currentcontenu{\Alph{cptcontenu\currentressource}} % La lettre du contenu courant
	%
	%\expandafter\xdef\csname ressourcecontenu\currentressource\currentcontenu\endcsname{#1} % descriptif
	%\newcounter{cptcontenudetail\currentressource\currentcontenu} % Le compteur de détails 
%}
%
%% Ajout de détails aux contenux (sous-liste)
%\def\ajoutdetailcontenu#1{
	%\addtocounter{cptcontenudetail\currentressource\currentcontenu}{1} % Ajoute un détail à la liste des contenus
	%
	%\expandafter\xdef\csname ressourcecontenudetail\currentressource\currentcontenu\Alph{cptcontenudetail\currentressource\currentcontenu}\endcsname{#1} % descriptif
%}
%
%\def\ajoutconclusioncontenu#1{
	%\expandafter\xdef\csname ressourceconclucontenu\currentressource\endcsname{#1} % la conclusion
%}


% Ajout des compétences 
% \ajoutcompetence{nom_competence}{niveau}
\def\ajoutcompetence#1#2{
	\addtocounter{cptressourcecomp\currentressource}{1} % le compteur de la comp dans la ressource
	\xdef\currentcomp{\Alph{cptressourcecomp\currentressource}} % La lettre de la comp dans la ressource
	
	
	\expandafter\xdef\csname ressourcecomp\currentressource\currentcomp\endcsname{#1} % le nom de la comp
	\expandafter\xdef\csname ressourcecompniveau\currentressource\currentcomp\endcsname{#2} % le nom de la comp
	
	\newcounter{cptressourceac\currentressource\currentcomp} % le compteur d'ac pour la compétence rattachées à la ressource
}

% Ajout d'AC aux compétences
\def\ajoutac#1#2{
	\addtocounter{cptressourceac\currentressource\currentcomp}{1} % le compteur de l'ac pour la comp dans la ressource
	\xdef\currentac{\Alph{cptressourceac\currentressource\currentcomp}} % La lettre de l'ac pour la comp dans la ressource
	
	\expandafter\xdef\csname ressourceaccode\currentressource\currentcomp\currentac\endcsname{#1} % le nom de la comp
	\expandafter\xdef\csname ressourceacname\currentressource\currentcomp\currentac\endcsname{#2} % le nom de la comp
	
	% boucle sur les AC par compétence => plus utilisé
	\ifnum\value{cptressourceac\currentressource\currentcomp}=1\relax 
		\expandafter\xdef\csname loopressourceac\currentressource\currentcomp\endcsname{\currentac}
	\else
		\expandafter\xdef\csname loopressourceac\currentressource\currentcomp\endcsname{\csname loopressourceac\currentressource\currentcomp\endcsname,\currentac}
	\fi
	

}

% Ajout des SAE
\def\ajoutsae#1#2{
	\addtocounter{cptressourcesae\currentressource}{1} % le compteur de la sae dans la ressource
	\xdef\currentsae{\Alph{cptressourcesae\currentressource}} % La lettre
	
	\expandafter\xdef\csname ressourcesaecode\currentressource\currentsae\endcsname{#1} % 
	\expandafter\xdef\csname ressourcesaename\currentressource\currentsae\endcsname{#2} % 
}

% Ajout des prerequis
\def\ajoutprerequis#1#2{
	\addtocounter{cptressourceprerequis\currentressource}{1} % le compteur du prerequis dans la ressource
	\xdef\currentprerequis{\Alph{cptressourceprerequis\currentressource}} % La lettre
	
	\expandafter\xdef\csname ressourceprerequiscode\currentressource\currentprerequis\endcsname{#1} % 
	\expandafter\xdef\csname ressourceprerequisname\currentressource\currentprerequis\endcsname{#2} % 
}

% Ajout des mots-clés
\def\ajoutmotscles#1{
	\expandafter\xdef\csname ressourcemotscles\currentressource\endcsname{#1} % descriptif

}


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

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