\NeedsTeXFormat{LaTeX2e}
% extensions
 
\RequirePackage{colorscheme}
\RequirePackage{lastpage}

\RequirePackage{fancyhdr}

\newcommand{\op@entete}{}
\newcommand{\op@typedoctmp}{}
\newcommand{\op@tribe}{}
\newcommand{\op@duree}{}
\newcommand{\op@sujet}{}
\newcommand{\op@subtitle}{\op@tribe{} -- \@date{}}

\newcommand{\tribe}[1]{\renewcommand{\op@tribe}{#1}}
\newcommand{\duree}[1]{\renewcommand{\op@duree}{#1}}
\newcommand{\sujet}[1]{\renewcommand{\op@sujet}{Sujet #1}}

%% Redéfinition de maketitle 
\renewcommand{\maketitle}{%
    \noindent{\huge \color{title}\bfseries \@title}\par
    \noindent{\color{line}\rule{\linewidth}{1ex}}\par
    \noindent{\color{subtitle}\bfseries \op@subtitle \hfill \large\op@sujet}\par
    %\vspace{2.5\baselineskip}
    \thispagestyle{plain}
}

%%% Page de garde
\renewcommand{\titlepage}{%
    \pagestyle{plain}
    \begin{center}
        {\Huge  \@title} \\
        \vfill
        {\Huge \op@tribe} \\ 

        \vfill
        \fbox{
            \parbox{0.7\textwidth}{\large Épreuve de :
                \begin{center}
                    \Huge MATHÉMATIQUES
                \\[1cm]
                {\Large \@date} \\[1cm]
                \end{center}
                \Large Durée de l'épreuve : \op@duree
                \\[1cm]
            }
        }
        \vfill

            ~\\[1cm]
            \normalsize
            Ce sujet comporte \pageref{LastPage}\, pages, numérotées de 1 / \pageref{LastPage}\; à \pageref{LastPage} / \pageref{LastPage}\\
            Dès qu'il vous est remis, assurez-vous qu'il est complet.
            ~\\[0.5cm]

            L'utilisation de la calculatrice en mode \textbf{examen} est autorisée.

            \medskip
            L'échange de calculatrice entre les élèves est strictement interdit.\\
            L'usage du dictionnaire n'est pas autorisé. \\[1cm]

            %\textbf{10 points} sont réservés à l'orthographe et à la présentation.

            \gradingtable[type=exercise,template=DNB]

        \vfill
    \end{center}
    \clearpage
}

% Header et Footer
\pagestyle{fancy}

%\setlength{\headheight}{10pt}
%\fancyheadoffset{\textwidth}

\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\newcommand{\op@boiteentete}{\makebox[0pt][l]{\hspace*{-3ex}%
    \color{bgentete}\rule[-0.8ex]{\textwidth-5ex}{3ex}%
    }}
\lhead{\scriptsize\op@boiteentete \@title}
\chead{}
\rhead{\scriptsize\@date}
\lfoot{\scriptsize\op@boiteentete \op@subtitle}
\cfoot{}
\rfoot{\scriptsize\thepage\ / \pageref{LastPage}}
\fancypagestyle{plain}{ %
    \fancyhf{} % remove everything
    \renewcommand{\headrulewidth}{0pt} % remove lines as well
    \renewcommand{\footrulewidth}{0pt}
    \lfoot{\scriptsize\op@boiteentete \op@subtitle}
    \cfoot{}
    \rfoot{\scriptsize\thepage\ / \pageref{LastPage}}
}