% version 1.1 (26 septembre 2024)
% Lien vers le site où sont stockés les fichiers 
\newcommand{\monsite}{}
% Couleur principale du document
\newcommand{\macouleur}{violet}
% Paquets nécessaires
%\RequirePackage{ProfCollege}
\RequirePackage{tikz}
\RequirePackage{pgf}
\RequirePackage{pgffor}
\usetikzlibrary{shapes,shadows,trees,patterns,positioning,calendar,folding,mindmap,arrows,decorations.pathmorphing,calc,fit}
\RequirePackage{pgfplots}
\pgfplotsset{compat=newest,xlabel near ticks,ylabel near ticks}
\RequirePackage{tkz-base,tkz-euclide}%,tkz-fct}
\RequirePackage{yhmath}
\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage{lastpage}
\RequirePackage{lipsum}
\RequirePackage[a4paper,dvips,top=2cm,left=1.5cm,right=1.5cm,bottom=2cm]{geometry}
\RequirePackage{fancyhdr}
\RequirePackage{fontawesome5}
\RequirePackage[pdfborder={0 0 0},colorlinks=true,pdffitwindow=true,bookmarksopen=false]{hyperref}
\RequirePackage{multicol}
\RequirePackage{tabularx}
\RequirePackage{xstring}
\RequirePackage{xlop}
\opset{decimalsepsymbol={,},voperator=bottom}
\RequirePackage{eurosym}
\RequirePackage[shortlabels]{enumitem}
\RequirePackage[tikz]{bclogo}
\RequirePackage{mdframed}
%\RequirePackage{minted}
\RequirePackage{qrcode}
\RequirePackage{pstricks}
\RequirePackage{pst-eucl,pst-tree,pst-plot} 
\RequirePackage{pdfpages}
\RequirePackage{cancel}
% Choix de la police en fonction de la valeur de la variable booléenne dyslexique
\ifthenelse{\boolean{dyslexique}}{
  \RequirePackage{mathspec}
  % on augmente l'espacement entre les lignes
  \renewcommand{\baselinestretch}{2}
  % on augmente la taille de la police et l'espacement entre les lettres
  \defaultfontfeatures{Scale=1.3}
  \setmainfont[LetterSpace=10,Path=./polices/]{OpenDyslexic-Regular.otf}
  \setmathfont(Latin,Digits,Greek)[LetterSpace=10,Path=./polices/]{OpenDyslexic-Regular.otf}
}{
  \RequirePackage{fontspec}
  \RequirePackage{fourier-otf}
}
% Mise en page
\fancypagestyle{normal}{
  \fancyhf{}
  \lhead{}
  \chead{}
  \rhead{}
  \lfoot{\textcolor{\macouleur}{\small\faCreativeCommons~~{\footnotesize \href{\monsite}{Mubun\TeX}}}}
  \cfoot{}
  \rfoot{}
  \renewcommand{\headrulewidth}{0pt}
  \renewcommand{\footrulewidth}{0pt}
}
\pagestyle{normal}
% Commande \exercice pour les exercices
\newcounter{exo}
\tikzset{frbox/.style={rounded corners,inner sep=4pt}}
\newcommand{\exercice}[0]{
  \ifthenelse{\boolean{dyslexique}}{\clearpage}{}
  \medskip\stepcounter{exo}
  \noindent   
  \begin{tikzpicture}[remember picture,overlay]
    \node[inner sep=0.25em] (titre) at (0.75em,0.4em){10};
    \fill[rounded corners=2pt,fill=\macouleur] (titre.north west) -- (titre.north east) -- (titre.south east) -- (titre.south west) -- cycle;
    \node[inner sep=1em,text=white] at (titre) {\bfseries $\theexo$};
  \end{tikzpicture}
  \hspace{1cm}
}
% Environnement EXO pour les exercices provenant de Coopmaths
\newenvironment{EXO}[2]{%
  \exercice
  
  #1
}{}
% Commandes \masection, \mescompetences, \monderoulement pour les feuilles de route
\newcommand{\masection}[1]{%
  \vspace*{.5\baselineskip}
  
  {\noindent\bfseries \textcolor{\macouleur}{#1}}\\[-.25\baselineskip]
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break\\[-1.5\baselineskip]
}
\newcommand{\mescompetences}{%
  \vspace*{.5\baselineskip}
  
  {\noindent\bfseries \textcolor{\macouleur}{Compétences étudiées}}\\[-.25\baselineskip]
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break\\[-1.5\baselineskip]
}
\newcommand{\enplus}[2]{%
\vfill%  \vspace*{.5\baselineskip}
  
  {\noindent\bfseries \textcolor{\macouleur}{Pour s'entraîner, réviser ou aller plus loin}}\\[-.25\baselineskip]
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break\\[-1.5\baselineskip]
  
  \begin{multicols}{#1}
    \begin{center}
      #2
    \end{center}
  \end{multicols}
}
\newcommand{\monderoulement}[1]{%
  \vspace*{.5\baselineskip}
  
  {\noindent\bfseries \textcolor{\macouleur}{Déroulement de la séquence}}\\[-.25\baselineskip]
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break\\[-2.5\baselineskip]

  \textcolor{\macouleur}{
    \begin{itemize} 
    \item Cette séquence se déroule en #1  séances. Noter dans les cases suivantes les dates des séances :
    \end{itemize}
  }
  \begin{center}
    {\small\foreach \n in{1,...,#1}{ \fbox{\phantom{DATE DU JOUR}}\,}}
  \end{center}
  
  \textcolor{\macouleur}{
    \begin{itemize}
    \item Cocher les fiches  et surligner les exercices au fur et à mesure qu'ils sont réalisés.
    \item Toute fiche commencée est {\sc à finir pour la séance suivante}.
    \item[] \listeexos{}{\text{obligatoire}} \listeexosf{}{\text{facultatif}}
    \end{itemize}
  }
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ù
\newcommand{\mafdr}[2]{
  \cleardoublepage
  \phantomsection
  \addcontentsline{toc}{section}{#1 (feuille de route)}
  \setcounter{exo}{0}
  \cfoot{}
  \rfoot{\small\textcolor{\macouleur}{#2}}
  \noindent{\Large \bfseries \sc \textcolor{\macouleur}{#1 \hfill Feuille de route}}
  
  \vspace*{-.5\baselineskip}
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
}
% Commande \fdr pour la feuille de route
% 1: Titre,
% 2: Numéro du cycle (3 ou 4)
% 3: niveau de la classe (3,4,5,6)
% 4 : si égal à 1 alors la case est validée (Calculatrice)
% 5 : si égal à 1 alors la case est validée (Manuel)
% 6 : si égal à 1 alors la case est validée (Matériel de géométrie)
% 7 : si égal à 1 alors la case est validée ( degré d'autonomie 1)
% 8 : si égal à 1 alors la case est validée ( degré d'autonomie 2)
% 9 : si égal à 1 alors la case est validée ( degré d'autonomie 3)
\newcommand{\fdr}[6]{%
  \cleardoublepage
  \phantomsection
  \addcontentsline{toc}{section}{#1 (feuille de route)}
  \setcounter{exo}{0}
  \cfoot{\textcolor{\macouleur}{\footnotesize Feuille de route}}
  \rfoot{\textcolor{\macouleur}{\footnotesize Cycle $#2 - #3^e$}}
  \ifthenelse{\boolean{dyslexique}}{\noindent{\large \bfseries \sc \textcolor{\macouleur}{#1}}}{
%      \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
%      \vspace*{-\baselineskip}
%
      \noindent{\Large \bfseries \sc \textcolor{\macouleur}{#1}}}% \hfill Feuille de route}}}
  
  \vspace*{-.5\baselineskip}
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
  \vspace*{.5\baselineskip}
  
  \noindent\begin{tabularx}{\textwidth}{XllX}
    {\noindent\bfseries \textcolor{\macouleur}{Matériel à apporter :}}&
    \ifthenelse{\equal{#4}{1}}{\faSquare}{\faSquare[regular]}\, Calculatrice&
    \ifthenelse{\equal{#5}{1}}{\faSquare}{\faSquare[regular]}\, Manuel&
    \ifthenelse{\equal{#6}{1}}{\faSquare}{\faSquare[regular]}\, Matériel de géométrie\\ \\
%    {\noindent\bfseries \textcolor{\macouleur}{Degré d'autonomie :}}&
%    \ifthenelse{\equal{#7}{1}}{\faSquare}{\faSquare[regular]}\, 1&
%    \ifthenelse{\equal{#8}{1}}{\faSquare}{\faSquare[regular]}\, 2&
%    \ifthenelse{\equal{#9}{1}}{\faSquare}{\faSquare[regular]}\, 3\\\\
%    &\multicolumn{3}{l}{\textcolor{\macouleur}{\footnotesize 1 : validation des exercices par l'enseignant}}\\
%    &\multicolumn{3}{l}{\textcolor{\macouleur}{\footnotesize 2 : validation des séries d'exercices  par l'enseignant}}\\
%    &\multicolumn{3}{l}{\textcolor{\macouleur}{\footnotesize 3 : validation des séries d'exercices en autonomie}}\\
    \end{tabularx}
}
  % Commande \montitre pour des fiches
  % 1: Titre de la fiche,
% 2: type de fiche,
% 3: Information en bas à droite de la feuille en note de bas de page
\newcommand{\montitre}[3]{%
  \cleardoublepage
  \phantomsection
  \ifthenelse{\equal{#2}{}}{\addcontentsline{toc}{section}{#1}}{\addcontentsline{toc}{section}{#1 - #2}}
  \setcounter{exo}{0}
  \lfoot{\textcolor{\macouleur}{\small\faCreativeCommons~~Mubun\TeX}}
  \ifthenelse{\equal{#2}{}}{\cfoot{\textcolor{\macouleur}{\footnotesize #1}}}{\cfoot{\textcolor{\macouleur}{\footnotesize #1 - #2}}}
  \rfoot{\textcolor{\macouleur}{\footnotesize #3}}
  \noindent{\Large \bfseries \sc \textcolor{\macouleur}{#1 \hfill #2}}
  
  \vspace*{-.5\baselineskip}
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
}
% Commande \moncours pour les fiches de cours
% 1: Titre de la fiche,
% 2: Numéro du cycle (3 ou 4)
% 3: niveau de la classe (3,4,5,6)
\newcommand{\moncours}[3]{%
  \cleardoublepage
  \phantomsection
  \addcontentsline{toc}{subsection}{#1 (cours)}
  \setcounter{exo}{0}
  \ifthenelse{\boolean{dyslexique}}{\cfoot{}}{\cfoot{\textcolor{\macouleur}{\footnotesize Le cours}}}
  
  \rfoot{\textcolor{\macouleur}{\footnotesize Cycle $#2 - #3^e$ }}
  \noindent{\Large \bfseries \sc \textcolor{\macouleur}{#1}}% \hfill Cours}}
  
  \vspace*{-.5\baselineskip}
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
  
  \vspace*{.25\baselineskip}
}
% Commande \monds pour les évaluations
% 1: Nom du devoir (3DS01)
% 2: Version du devoir (Version A, ...)
% 3: Numéro du cycle (3 ou 4)
% 4: liste des compétences évaluées
\newcommand{\monds}[5]{%
  \cleardoublepage
  \phantomsection
  \addcontentsline{toc}{section}{#1 - #2}
  \setcounter{exo}{0}
  \ifthenelse{\boolean{dyslexique}}{\cfoot{}}{\cfoot{\textcolor{\macouleur}{\footnotesize #1 - #2}}}
  \rfoot{\textcolor{\macouleur}{\footnotesize Cycle $#3 - #4^e$}}
  \noindent{\Large \bfseries \sc \textcolor{\macouleur}{#1 \hfill #2}}
  
  \vspace*{-.5\baselineskip}
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
  
  \vspace*{-.25\baselineskip}
  \noindent\textcolor{\macouleur}{\textbf{Nom, prénom et classe :} \textcolor{gray}{\dotfill}}
  \bigskip
  \textcolor{\macouleur}{\begin{itemize}[leftmargin=2.7cm,label={ \ifthenelse{\boolean{dyslexique}}{\_\_ }{\bfseries 1 - 2 - 3 - 4}} ,nolistsep]
      #5
    \end{itemize}
    \begin{center}{\small {\bfseries 1 :} Insuffisant {- \bfseries 2 :} Fragile {- \bfseries 3  :} Satisfaisant {- \bfseries 4 :} Très bien} \end{center}
  }
  
  \vspace*{-.5\baselineskip}
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
  
  \vspace*{.25\baselineskip}
}
% Commande pour les fiches de soutien
% 1: Nom et prénom de l'élève
% 2: Numéro du cycle (3 ou 4)
% 3: Date du soutien
% 4: liste des compétences évaluées
\newcommand{\monsoutien}[4]{%
  \cleardoublepage
  \setcounter{exo}{0}
  \ifthenelse{\boolean{dyslexique}}{\cfoot{}}{\cfoot{\textcolor{\macouleur}{\footnotesize Soutien}}}
  \rfoot{\textcolor{\macouleur}{\footnotesize Cycle $#2$}}
  \noindent{\Large \bfseries \sc \textcolor{\macouleur}{Soutien \hfill #3}}
  
  \vspace*{-.5\baselineskip}
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
  
  \vspace*{-.25\baselineskip}
  \noindent\textcolor{\macouleur}{\textbf{#1}
    \bigskip
    \textcolor{\macouleur}{\begin{itemize}[leftmargin=2.7cm,label={\bfseries 1 - 2 - 3 - 4} ,nolistsep]
        #4
      \end{itemize}
      \begin{center}{\small {\bfseries 1 :} Insuffisant {- \bfseries 2 :} Fragile {- \bfseries 3  :} Satisfaisant {- \bfseries 4 :} Très bien} \end{center}
    }
    
    \vspace*{-.5\baselineskip}
    \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
    
    \vspace*{.25\baselineskip}
  }
}
% Commande \macorrection pour les corrections d'exercices ou d'évaluations
% 1: Nom du devoir (3DS01)
% 2: Version du devoir (Version A, ...)
% 3: Numéro du cycle (3 ou 4)
% 4: Niveau de classe (3, 4, 5, 6)
\newcommand{\macorrection}[4]{%
  \cleardoublepage
  \phantomsection
  \addcontentsline{toc}{section}{#1 - #2 (correction)}
  \setcounter{exo}{0}
  \ifthenelse{\boolean{dyslexique}}{\cfoot{}}{\cfoot{\textcolor{\macouleur}{\footnotesize #1 - #2 (correction)}}}
  \rfoot{\textcolor{\macouleur}{\footnotesize Cycle $#3 - #4^e$}}
  \noindent{\Large \bfseries \sc \textcolor{\macouleur}{#1 - #2 \hfill Correction}}
  
  \vspace*{-.5\baselineskip}
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
  
  \vspace*{.25\baselineskip}
}
% Items pour le déroulement de la feuille de routes issus de fontawesome5
\newcommand{\itemexo}{\item[{\faFile[regular]}]}
\newcommand{\itemo}{\item[{\faSquare[regular]}]}
\newcommand{\itemf}{\item[{\faStar[regular]}]}
\newcommand{\itemv}{\item[\faPlayCircle]}
\newcommand{\itempc}{\item[\faTv]}
\newcommand{\itemgeo}{\item[\faCubes]}
\newcommand{\itemhelp}{\item[\faLifeRing]}
% Définitions de couleurs
\definecolor{teal}{rgb}{0.0,0.5,0.5}
\definecolor{olivegreen}{rgb}{0.5,0.5,0}
\definecolor{palatinatepurple}{rgb}{0.14,0.16,0.38}
\definecolor{oucrimsonred}{rgb}{0.6,0.0,0.0}
\definecolor{darkolivegreen}{rgb}{0.33, 0.42, 0.18}
\definecolor{bg}{rgb}{0.9,0.9,0.9}
\definecolor{olivegreen}{rgb}{0.5,0.5,0}
% Mise en page des éléments des cours
% Définition en rouge
\newcommand{\trait}{red!75}
\mdfdefinestyle{definition}{fontcolor=\trait,linewidth=1pt,linecolor=white,tikzsetting={draw=\trait,line width=1pt},roundcorner=5pt,rightline=false,topline=false,bottomline=false,frametitle={\textcolor{\trait}{Définition}}}
% Exercice résolu en bleu
\newcommand{\traitdeux}{blue!75}
\mdfdefinestyle{exoresolu}{fontcolor=\traitdeux,linewidth=1pt,linecolor=white,tikzsetting={draw=\traitdeux,line width=1pt},roundcorner=5pt,rightline=false,topline=false,bottomline=false,frametitle={\textcolor{\traitdeux}{Exercice}}}
\mdfdefinestyle{propriete}{fontcolor=\traitdeux,linewidth=1pt,linecolor=white,tikzsetting={draw=\traitdeux,line width=1pt},roundcorner=5pt,rightline=false,topline=false,bottomline=false,frametitle={\textcolor{\traitdeux}{Propriété}}}
\mdfdefinestyle{theoreme}{fontcolor=\traitdeux,linewidth=1pt,linecolor=white,tikzsetting={draw=\traitdeux,line width=1pt},roundcorner=5pt,rightline=false,topline=false,bottomline=false,frametitle={\textcolor{\traitdeux}{Théorème}}}
% Méthode en violet
\newcommand{\traittrois}{violet!75}
\mdfdefinestyle{methode}{fontcolor=\traittrois,linewidth=1pt,linecolor=white,tikzsetting={draw=\traittrois,line width=1pt},roundcorner=5pt,rightline=false,topline=false,bottomline=false,frametitle={\textcolor{\traittrois}{Méthode}}}
% Calculatrice en vert
\newcommand{\traitcalc}{olivegreen!75}
\mdfdefinestyle{calculatrice}{fontcolor=\traitcalc,linewidth=1pt,linecolor=white,tikzsetting={draw=\traitcalc,line width=1pt},roundcorner=5pt,rightline=false,topline=false,bottomline=false}
% Utilisation de la police Class Wiz Fr correspondant à la calculatrice Casio Collège 2D+
\newcommand{\casio}[1]{\textcolor{olivegreen}{{\fontspec[Path=./polices/]{CASIOClassWizFr.ttf} #1}}}
% Commande \monqrcode pour faciliter l'intégration de QR codes
\newcommand{\monqrcode}[2]{%
%  \begin{tikzpicture}
%    \draw[rounded corners=5pt,\macouleur,line width=1pt] (0,0) rectangle (2.5,3);
%    \node at (1.25,1.8) {\footnotesize\qrcode{#1}};
%    \node at (1.25,0.3) {\href{#1}{\bfseries #2}};
%  \end{tikzpicture}
  \qrcode{#1}\\ \vspace{.5\baselineskip} \href{#1}{#2}
}
\hypersetup{
     colorlinks   = true,
     linkcolor    = black!75, %\macouleur,
     urlcolor     = black!75, %\macouleur,
     citecolor    = black!75, %\macouleur,
     filecolor    = black!75, %\macouleur,
}
% Commande \listeexos pour listes les exercices à faire
%%% 1: Format des exercices (Ex., 1B., etc)
% 2: liste des numéros des exercices (1 ou 1,3,5 ou 1,...,5)
\newcommand{\listeexos}[2]{\hfill\textcolor{black}{\small\foreach \n in {#2}{ \fbox{#1 $\n$} \,}}}
\psset{cornersize=absolute,linearc=.5\baselineskip} 
\newcommand{\listeexosf}[2]{\textcolor{black}{\small\foreach \n in {#2}{ \psframebox[fillcolor=black!10,fillstyle=solid]{#1 $\n$} \,}}}
%%%\newcommand{\listeexos}[2]{\hfill\textcolor{black}{\small\foreach \n in {#2}{ \fbox{#1 $\n$} \,}}}
% Commande pour noter un arc de cercle
\DeclareSymbolFont{yhlargesymbols}{OMX}{yhex}{m}{n}
\DeclareMathAccent{\wideparen}{\mathord}{yhlargesymbols}{"F3}
\newcommand{\arcdecercle}[1]{\ensuremath{\wideparen{#1}}}
%\newcommand{\arcdecercle}[1]{\ensuremath{\overset{\displaystyle\wideparen{#1}}}}
% Commande \pdf pour inclure des PDF (la version \pdfl tourne le PDF de 90 dans le sens anti-horaire)
% 1: répertoire (301)
% 2: nom du fichier PDF
% 3: pages à inclure
% 4: numéro de la 1ère page à inclure
% 5: nom dans la TOC
\newcommand{\pdf}[5]{\includepdf[pages={#3},link,addtotoc={#4,subsection,1,{#5},3}]{./#2}}
\newcommand{\pdfl}[5]{\includepdf[angle=90,pages={#3},link,addtotoc={#4,subsection,1,{#5},3}]{./#2}}
% Commande pour tracer un croix dans un repère en TikZ
% 1: Abscisse du point
% 2: Ordonnée du point
% 3: Nom du point
\newcommand{\point}[3]{
  \node at ($(#1,#2)+(0.2,0)$) {$\mathbin{\tikz [x=1.4ex,y=1.4ex,line width=.2ex,black] \draw (0,0) -- (1,1) (0,1) -- (1,0); #3}$}
}
\makeatletter
\newcommand\arraybslash{\let\\\@arraycr}
\makeatother
\setitemize{itemsep=0pt}
% ajouter des lignes jusqu'à la fin de la page
\makeatletter
\newcommand*\dotcolumnfill{%
  \par
  \null
  \vskip -\ht\strutbox
  \xleaders \hb@xt@ \hsize {%
    \strut \cleaders \hb@xt@ .44em{\hss.\hss}\hfill
  }\vfill
  \vskip \ht\strutbox
  \break
}
\makeatother

% ajouter des lignes jusqu'à la fin de la page
\makeatletter
\newcommand*\mydotcolumnfill{%
    \par
    \null
    \vskip -\ht\strutbox
    \xleaders \hb@xt@ \hsize {%
      \strut \cleaders \hb@xt@ .44em{\hss\textcolor{gray!50}{.}\hss}\hfill
    }\vfill
    \vskip \ht\strutbox
    \break
  }
\makeatother
% DES LIGNES DE POINTILLES
\usepackage{multido}
\newcommand{\mespointilles}[2]{
  \ifthenelse{\equal{#1}{-1}}{%
    \noindent {#2} \mydotcolumnfill
  }{%
    \ifthenelse{\equal{#1}{0}}{%
      \par \noindent {#2} \textcolor{gray!50}{\dotfill}
    }{%
      \par \noindent {#2} \par\multido{}{#1}{\noindent\makebox[\linewidth]{\textcolor{gray!50}{\dotfill}}\endgraf}
    }
  }
}

% pour faire des flèches (distributivité et tableau de proportionnalité)
\newcommand{\montikzmark}[2][]{ \tikz[remember picture, overlay, baseline=-0.5ex]\node[#1, left](#2){}; }
\newcommand{\flechePropV}[4][]{ \tikz[remember picture, overlay]\draw (#2)edge[bend left=90,min distance=1em, -stealth]node[midway, #1]{#4}(#3); }
\newcommand{\flechePropH}[4][]{ \tikz[remember picture, overlay]\draw (#2)edge[bend left=90, min distance=1em, -stealth]node[midway, #1]{#4}(#3); }
\newcommand{\flechePropHbas}[4][]{ \tikz[remember picture, overlay]\draw (#2)edge[bend left=-90, min distance=1em, -stealth]node[midway, #1]{#4}(#3); }
\tikzset{
  ncbar angle/.initial=90,
  ncbar/.style={
    to path=(\tikztostart)
    -- ($(\tikztostart)!#1!\pgfkeysvalueof{/tikz/ncbar angle}:(\tikztotarget)$) 
    -- ($(\tikztotarget)!($(\tikztostart)!#1!\pgfkeysvalueof{/tikz/ncbar angle}:(\tikztotarget)$)!\pgfkeysvalueof{/tikz/ncbar angle}:(\tikztostart)$) 
    \tikztonodes
    -- (\tikztotarget) 
  },
  ncbar/.default=0.5cm,
}
\newcommand{\tabpropcalcbas}[5]{{\tikz[remember picture,overlay] \draw[blue,line width=1pt] (#1) to [ncbar=-1.5em ] node[pos=0.5,draw,circle,inner sep=1pt,fill=white] (ee) {#4} (#2); }
  {\tikz[remember picture,overlay] \draw[->,blue,line width=1pt] (ee) to [ncbar=-2em, ncbar angle=#5]  (#3); }}
\newcommand{\tabpropcalchaut}[5]{
  {\tikz[remember picture,overlay] \draw[blue,line width=1pt] (#1) to [ncbar=1.5em] node[pos=0.5,draw,circle,inner sep=1pt,fill=white] (e) {#4} (#2); }
  {\tikz[remember picture,overlay] \draw[->,blue,line width=1pt] (e) to [ncbar=2em, ncbar angle=#5]  (#3); }
}
\newcommand{\tabpropopbas}[3]{{\tikz[remember picture,overlay] \draw[->,oucrimsonred,line width=1pt] (#1) to [ncbar=-1.5em ] node[pos=0.5,draw,circle,inner sep=1pt,fill=white]  {#3} (#2); }}
\newcommand{\tabpropophaut}[3]{
  {\tikz[remember picture,overlay] \draw[->,oucrimsonred,line width=1pt] (#1) to [ncbar=1.5em] node[pos=0.5,draw,circle,inner sep=1pt,fill=white] {#3} (#2); }
}
%%% Pour la progression
\newcommand{\prog}{\textcolor{\macouleur}{\subsection*{Ce que disent les attendus}}}
\newcommand{\comp}{\textcolor{\macouleur}{\subsection*{Compétences étudiées}}}
\newcommand{\rqe}{\textcolor{\macouleur}{\subsection*{Remarques}}}
%%% VOLUMES
%----------------------------------------
% SOLIDES EN 3D
%----------------------------------------
%
\tikzstyle{zoom_espace}=[scale=0.6]
%----------------------------------------
% Pyramide
%----------------------------------------
\newcommand{\pyramide}[9]{
  \begin{tikzpicture}[remember picture,x=3cm,y=2cm,z={(1cm,-1.5cm)},zoom_espace] 
    \tikzstyle{conefill} = [fill=gray!20,fill opacity=0.2] %couleur de fond
    % coordonnées des sommets
    \draw(0,3,0)node[above](S){$#1$};
    \draw(1,0,0)node[right](A){$#4$};
    \draw(-1,0,0)node[left](B){$#2$};
    \draw(0,0,1)node[below](C){$#3$};
    \draw(0,0,-1)node[above right](D){$#5$};
    % \draw (-0.25,0.25,0.5) node[]{$O$};
    % remplir les faces
    \fill[conefill] (1,0,0)--(0,0,1)--(1,0,0)--(0,0,-1)--cycle; %base
    \fill[conefill] (0,3,0)--(-1,0,0)--(0,0,-1); %arrière gauche
    \fill[conefill] (0,3,0)--(-1,0,0)--(0,0,1); %avant gauche
    \fill[conefill] (0,3,0)--(0,0,1)--(1,0,0); %avant droit
    \fill[conefill] (0,3,0)--(1,0,0)--(0,0,-1); %arrière droit
    % section par un plan
    \draw (-0.5,1.5,0)--(0,1.5,0.5)--(0.5,1.5,0);
    \draw[dashed] (-0.5,1.5,0)--(0,1.5,-0.5)--(0.5,1.5,0);
    \fill[fill=black!20] (-0.5,1.5,0)--(0,1.5,0.5)--(0.5,1.5,0)--(0,1.5,-0.5);
    % \draw (-0.25,1.75,0.5) node[]{$O'$};
    \draw (-0.5,1.5,0) node[left]{$#6$};
    \draw (0,1.5,0.5)  node[below right]{$#7$};
    \draw (0.5,1.5,0)  node[right]{$#8$};
    \draw (0,1.5,-0.5) node[above right]{$#9$};
    % tracer les arêtes 
    \draw (A.west)--(C.north)--(B.east);
    \draw[dashed] (B.east)--(D.south west)--(A.west);
    \draw (S.south)--(A.west);
    \draw (S.south)--(B.east);
    \draw (S.south)--(C);
    \draw[dashed] (S.south)--(D.south west);
    \draw [dashed] (S)--(0,0,0);
    \draw[dashed] (A)--(B);
    \draw[dashed] (C.north)--(D.south west);
    \draw[dashed] (-0.5,1.5,0)--(0.5,1.5,0);
    \draw[dashed] (0,1.5,0.5)--(0,1.5,-0.5);   
  \end{tikzpicture}
}
%----------------------------------------
% Cône de révolution
%----------------------------------------
\newcommand{\cone}[5]{
\begin{tikzpicture}[remember picture,x=2cm,y=1.5cm,z={(0cm,-1cm)},zoom_espace] 
  \tikzstyle{conefill} = [fill=gray!20,fill opacity=0.2] %couleur de fond
  % base inférieure (devant)
  \filldraw[conefill] (-.99,0,0) .. controls (-1,0,0.555) and (-0.555,0,1) .. (0,0,1) .. controls (0.555,0,1) and (1,0,0.555) .. (.99,0,0); 
  % base inférieure (derière,dashed)
  \filldraw[conefill,dashed](-.97,0,0) .. controls (-1,0,-0.555) and (-0.555,0,-1) .. (0,0,-1) .. controls (0.555,0,-1) and (1,0,-0.555) .. (.97,0,0); 
  % section (devant)
  \filldraw[fill=black!20] (-0.5,1.5,0) .. controls (-0.5,1.5,0.2775) and (-0.2775,1.5,0.5) .. (0,1.5,0.5) .. controls (0.2775,1.5,0.5) and (0.5,1.5,0.2775) .. (0.5,1.5,0); 
  % section (derrière)
  \filldraw[fill=black!20,dashed] (-0.5,1.5,0) .. controls (-0.5,1.5,-0.2775) and (-0.2775,1.5,-0.5) .. (0,1.5,-0.5) .. controls (0.2775,1.5,-0.5) and (0.5,1.5,-0.2775) .. (0.5,1.5,0);   
  % remplir les faces latérales
  \filldraw[conefill] (-1,0,0) .. controls (-1,0,0.555) and (-0.555,0,1) .. (0,0,1) .. controls (0.555,0,1) and (1,0,0.555) .. (1,0,0)--(0,3,0)--cycle; 
  \fill[conefill](-1,0,0) .. controls (-1,0,-0.555) and (-0.555,0,-1) .. (0,0,-1) .. controls (0.555,0,-1) and (1,0,-0.555) .. (1,0,0)--(0,3,0)--cycle; 
  % diametre et hauteur
  \draw[dashed,opacity=.7] (-1,0,0)--(1,0,0);
  \draw[dashed,opacity=.7] (0,0,0)--(0,3,0);
  \draw[dashed,opacity=.7] (0,1.5,0) -- (.5,1.5,0);
  \draw (0,0,0) node[below left] {\small \ensuremath{#2}};
  \draw (1,0,0) node[right] {\small \ensuremath{#3}};
  \draw (.5,1.5,0) node[right] {\small \ensuremath{#5}};
  \draw (0,1.5,0) node[left] {\small \ensuremath{#4}};
  \draw (0,3,0) node[above] {\small \ensuremath{#1}};
  \draw (0,0,0) -- (0,0.1,0) -- (0.07,0.1,0) -- (0.07,0,0) -- cycle;
\end{tikzpicture}
}
%----------------------------------------
% Pavé coupe horizontale
%----------------------------------------
\newcommand{\monpaveH}[8]{
  \begin{tikzpicture}[remember picture,join=round,x=1cm,y=1cm,,zoom_espace]
    \tikzstyle{conefill} = [fill=gray!20,fill opacity=0.2]
    % remplir les faces
    \fill[conefill] (0,0,0)--(5,0,0)--(5,0,3)--(0,0,3)--cycle; %base inférieure
    \fill[conefill] (0,2,0)--(5,2,0)--(5,2,3)--(0,2,3)--cycle; %base supérieure
    \fill[conefill] (0,0,0)--(0,2,0)--(0,2,3)--(0,0,3)--cycle; %face latérale gauche
    \fill[conefill] (0,0,0)--(5,0,0)--(5,2,0)--(0,2,0)--cycle; %face arrière
    \fill[conefill] (5,0,0)--(5,2,0)--(5,2,3)--(5,0,3)--cycle; %face latérale droite
    \fill[conefill] (0,0,3)--(5,0,3)--(5,2,3)--(0,2,3)--cycle; %face avant
    % section verticale
    %\filldraw[fill=red!20, dashed, fill opacity=0.5] (3,0,0)--(3,0,3)--(3,2,3)--(3,2,0)--cycle;
    % section horizontale
     \filldraw[fill=gray!20, dashed, fill opacity=0.5] (0,1,0)--(5,1,0)--(5,1,3)--(0,1,3)--cycle;   
    % intersection des plans
     \draw[dashed] (3,1,0)--(3,1,3);
    % coordonnées des sommets    
    % base inférieure
    \draw(0,0,0)node[left](A){#4};
    \draw(5,0,0)node[below right](B){#3};
    \draw(5,0,3)node[below right](C){#2};
    \draw(0,0,3)node[below left](D){#1};
    % base supérieure
    \draw(0,2,0)node[above left](E){#8};
    \draw(5,2,0)node[above right](F){#7};
    \draw(5,2,3)node[right](G){#6};
    \draw(0,2,3)node[above left](H){#5};   
    % tracer les arêtes
    \draw[dashed]  (A.east)--(B.north west);
    \draw (B.north west)--(C.north west);
    \draw (C.north west)--(D.north east);
    \draw[dashed]  (D.north east)--(A.east);
    \draw (E.south east)--(F.south west);
    \draw (F.south west)--(G.west);
    \draw (G.west)--(H.south east);
    \draw (H.south east)--(E.south east);
    \draw[dashed] (A.east)--(E.south east);
    \draw (B.north west)--(F.south west);
    \draw (C.north west)--(G.west);
    \draw (D.north east)--(H.south east);
  \end{tikzpicture}
}
%----------------------------------------
% Pavé coupe verticale
%----------------------------------------
\newcommand{\monpaveV}[8]{
  \begin{tikzpicture}[remember picture,join=round,x=1cm,y=1cm,,zoom_espace]
    \tikzstyle{conefill} = [fill=gray!20,fill opacity=0.2]
    % remplir les faces
    \fill[conefill] (0,0,0)--(5,0,0)--(5,0,3)--(0,0,3)--cycle; %base inférieure
    \fill[conefill] (0,2,0)--(5,2,0)--(5,2,3)--(0,2,3)--cycle; %base supérieure
    \fill[conefill] (0,0,0)--(0,2,0)--(0,2,3)--(0,0,3)--cycle; %face latérale gauche
    \fill[conefill] (0,0,0)--(5,0,0)--(5,2,0)--(0,2,0)--cycle; %face arrière
    \fill[conefill] (5,0,0)--(5,2,0)--(5,2,3)--(5,0,3)--cycle; %face latérale droite
    \fill[conefill] (0,0,3)--(5,0,3)--(5,2,3)--(0,2,3)--cycle; %face avant
    % section verticale
     \filldraw[fill=gray!20, dashed, fill opacity=0.5] (3,0,0)--(3,0,3)--(3,2,3)--(3,2,0)--cycle;
    % section horizontale
    %\filldraw[fill=red!20, dashed, fill opacity=0.5] (0,1,0)--(5,1,0)--(5,1,3)--(0,1,3)--cycle;   
    % intersection des plans
     \draw[dashed] (3,1,0)--(3,1,3);
    % coordonnées des sommets    
    % base inférieure
    \draw(0,0,0)node[left](A){#4};
    \draw(5,0,0)node[below right](B){#3};
    \draw(5,0,3)node[below right](C){#2};
    \draw(0,0,3)node[below left](D){#1};
    % base supérieure
    \draw(0,2,0)node[above left](E){#8};
    \draw(5,2,0)node[above right](F){#7};
    \draw(5,2,3)node[right](G){#6};
    \draw(0,2,3)node[above left](H){#5};   
    % tracer les arêtes
    \draw[dashed]  (A.east)--(B.north west);
    \draw (B.north west)--(C.north west);
    \draw (C.north west)--(D.north east);
    \draw[dashed]  (D.north east)--(A.east);
    \draw (E.south east)--(F.south west);
    \draw (F.south west)--(G.west);
    \draw (G.west)--(H.south east);
    \draw (H.south east)--(E.south east);
    \draw[dashed] (A.east)--(E.south east);
    \draw (B.north west)--(F.south west);
    \draw (C.north west)--(G.west);
    \draw (D.north east)--(H.south east);
  \end{tikzpicture}
}
%----------------------------------------
% Cylindre avec une coupe horizontale
%----------------------------------------
\newcommand{\cylindreH}[8]{
  \begin{tikzpicture}[remember picture,x=2cm,y=1.4cm,z={(0cm,-1cm)},zoom_espace] 
    \tikzstyle{conefill} = [fill=gray!20,fill opacity=0.2] %couleur de fond
    % base inférieure
    \filldraw[conefill] (-1,0,0) .. controls (-1,0,0.555) and (-0.555,0,1) .. (0,0,1) .. controls (0.555,0,1) and (1,0,0.555) .. (1,0,0); 
    \fill[conefill](-1,0,0) .. controls (-1,0,-0.555) and (-0.555,0,-1) .. (0,0,-1) .. controls (0.555,0,-1) and (1,0,-0.555) .. (1,0,0); 
    \draw[dashed] (-1,0,0) .. controls (-1,0,-0.555) and (-0.555,0,-1) .. (0,0,-1) .. controls (0.555,0,-1) and (1,0,-0.555) .. (1,0,0);
    % remplir la  face arrière
    \fill[conefill] (-1,0,0) .. controls (-1,0,-0.555) and (-0.555,0,-1) .. (0,0,-1) .. controls (0.555,0,-1) and (1,0,-0.555) .. (1,0,0)--(1,4,0).. controls (1,4,-0.555) and (0.555,4,-1)..(0,4,-1)..controls (-0.555,4,-1) and (-1,4,-0.555)..(-1,4,0);    
    % section
    \filldraw[fill=black!20] (-1,3,0) .. controls (-1,3,0.555) and (-0.555,3,1) .. (0,3,1) .. controls (0.555,3,1) and (1,3,0.555) .. (1,3,0); 
    \draw[fill=black!20,dashed]  (-1,3,0) .. controls (-1,3,-0.555) and (-0.555,3,-1) .. (0,3,-1) .. controls (0.555,3,-1) and (1,3,-0.555) .. (1,3,0); 
    \fill[fill=black!20]  (-1,3,0) .. controls (-1,3,-0.555) and (-0.555,3,-1) .. (0,3,-1) .. controls (0.555,3,-1) and (1,3,-0.555) .. (1,3,0); 
    % base supérieure
    \filldraw[conefill] (-1,4,0) .. controls (-1,4,0.555) and (-0.555,4,1) .. (0,4,1) .. controls (0.555,4,1) and (1,4,0.555) .. (1,4,0); 
    \filldraw[conefill] (-1,4,0) .. controls (-1,4,-0.555) and (-0.555,4,-1) .. (0,4,-1) .. controls (0.555,4,-1) and (1,4,-0.555) .. (1,4,0); 
    % rayon, barre latérales  et diamètre inférieurs et supérieurs
    \draw[dashed] (0,0,0)--(0.7,0,0.7);
    \draw[dashed] (-1,0,0)--(1,0,0);
    \draw[dashed] (0,3,0)--(0.7,3,0.7);
    \draw[dashed] (-1,3,0)--(1,3,0);
    \draw[] (-1,0,0)--(-1,4,0);
    \draw[] (1,0,0)--(1,4,0);
    \draw[dashed] (0,0,0)--(0,3,0);
    \draw (0,0,0) node[above] {$#1$};
    \draw (-1,0,0) node[left] {$#2$};
    \draw (1,0,0)node[right] {$#3$};
    \draw (0.7,0,0.7) node[below right] {$#4$};
    \draw (0,3,0) node [below] {$#5$};
    \draw (-1,3,0) node[left] {$#6$};
    \draw (1,3,0)node[right] {$#7$};
    \draw (0.7,3,0.7) node[below right] {$#8$};
    % remplir la  face avant   
    \fill[conefill] (-1,0,0) .. controls (-1,0,0.555) and (-0.555,0,1) .. (0,0,1) .. controls (0.555,0,1) and (1,0,0.555) .. (1,0,0)--(1,4,0).. controls (1,4,0.555) and (0.555,4,1)..(0,4,1)..controls (-0.555,4,1) and (-1,4,0.555)..(-1,4,0);   
  \end{tikzpicture}
}
%----------------------------------------
% Cylindre avec une coupe verticale
%----------------------------------------
\newcommand{\cylindreV}[6]{
  \begin{tikzpicture}[remember picture,x=2cm,y=1.4cm,z={(0cm,-1cm)},zoom_espace] 
     \tikzstyle{conefill} = [fill=gray!20,fill opacity=0.2] %couleur de fond
   % section
   \filldraw[dashed,fill=black!20] (0.9,0,0.32)--(0.9,4,0.32)--(-0.94,4,-0.34)--(-0.94,0,-0.34)--cycle;
   \draw (0.9,0,0.32) node [below right] {$#6$}; 
   \draw (0.9,4,0.32) node [above left] {$#5$};
   \draw (-0.94,4,-0.34) node [above left] {$#4$};
   \draw (-0.94,0,-0.34)  node [below right] {$#3$};
   % base inférieure
   \filldraw[conefill] (-1,0,0) .. controls (-1,0,0.555) and (-0.555,0,1) .. (0,0,1) .. controls (0.555,0,1) and (1,0,0.555) .. (1,0,0); 
   \fill[conefill](-1,0,0) .. controls (-1,0,-0.555) and (-0.555,0,-1) .. (0,0,-1) .. controls (0.555,0,-1) and (1,0,-0.555) .. (1,0,0); 
   \draw[dashed] (-1,0,0) .. controls (-1,0,-0.555) and (-0.555,0,-1) .. (0,0,-1) .. controls (0.555,0,-1) and (1,0,-0.555) .. (1,0,0);
   % remplir la  face arrière
   \fill[conefill] (-1,0,0) .. controls (-1,0,-0.555) and (-0.555,0,-1) .. (0,0,-1) .. controls (0.555,0,-1) and (1,0,-0.555) .. (1,0,0)--(1,4,0).. controls (1,4,-0.555) and (0.555,4,-1)..(0,4,-1)..controls (-0.555,4,-1) and (-1,4,-0.555)..(-1,4,0);    
   % base supérieure
   \filldraw[conefill] (-1,4,0) .. controls (-1,4,0.555) and (-0.555,4,1) .. (0,4,1) .. controls (0.555,4,1) and (1,4,0.555) .. (1,4,0); 
   \filldraw[conefill] (-1,4,0) .. controls (-1,4,-0.555) and (-0.555,4,-1) .. (0,4,-1) .. controls (0.555,4,-1) and (1,4,-0.555) .. (1,4,0); 
   % rayon et diamètre inférieurs
   \draw[dashed] (0,0,0)--(0,0,1);
   \draw (0,0,0) node[below left ]{$#1$};
   \draw (0,0,1) node[below]{$#2$};
   % \draw[dashed] (-1,0,0)--(1,0,0); % diamètre du bas
   % \draw[dashed] (0,4,0)--(0,4,1); % rayon du haut
   % \draw[dashed] (-1,4,0)--(1,4,0); % diamètre du haut
   \draw[] (-1,0,0)--(-1,4,0);
   \draw[] (1,0,0)--(1,4,0);   
   % remplir la  face avant   
   \fill[conefill] (-1,0,0) .. controls (-1,0,0.555) and (-0.555,0,1) .. (0,0,1) .. controls (0.555,0,1) and (1,0,0.555) .. (1,0,0)--(1,4,0).. controls (1,4,0.555) and (0.555,4,1)..(0,4,1)..controls (-0.555,4,1) and (-1,4,0.555)..(-1,4,0);   
 \end{tikzpicture}
}
%----------------------------------------
% Sphere
%----------------------------------------
\newcommand{\sphere}[3]{
  \begin{tikzpicture}[remember picture,zoom_espace]
    % ellipse de centre (0,h) et de rayons r1=\sqrt{R^2-h^2} et r2=(R-h)/2
    \draw [fill=black!20,dashed] (0,1.5cm) ellipse (2.57cm and .75cm);
    % cercle de centre (0,0) de rayon R
    \draw [fill=gray!20,fill opacity=0.2](0,0) circle (3cm);
    % centre de la shpère puis de l'ellipse puis d'un point de la sphère
    \draw (0,0) node[below] {$#1$};
    \draw (0,1.5cm) node[above] {$#2$};
    \draw (30:3cm) node[right] {$#3$};
    % lignes
    \draw[dashed] (30:3cm) -- (0,0) -- (0,1.5cm);
    \draw (0,1.5cm) -- (30:3cm);
    % angle droit
    \draw (0,1.5cm) --(0.2cm,1.5cm)--(0.2cm,1.3cm) -- (0,1.3cm);
\end{tikzpicture}
}
%----------------------------------------
% Calotte
%----------------------------------------
\newcommand{\calotte}[3]{
  \begin{tikzpicture}[remember picture,zoom_espace]
    % cercle de centre (0,0) de rayon R
    % \draw (0,0) circle (3cm);
    % arc de cercle de centre en polaire (90+teta:R) avec des angles variant de (90+teta à 360+90-teta) avec teta=cos^{-1}(h/R)
    \draw [fill=gray!20,fill opacity=0.2]  (150:3cm) arc (150:390:3cm);
    % ellipse de centre (0,h) et de rayons r1=\sqrt{R^2-h^2} et r2=(R-h)/2
    \draw [fill=black!20] (0,1.5cm) ellipse (2.57cm and .75cm);
    % centre de la shpère puis de l'ellipse puis d'un point de la sphère
    \draw (0,0) node[below] {$#1$};
    \draw (0,1.5cm) node[above] {$#2$};
    \draw (30:3cm) node[right] {$#3$};
    % lignes
    \draw[dashed] (30:3cm) -- (0,0) -- (0,1.5cm);
    \draw (0,1.5cm) -- (30:3cm);
    % angle droit
    \draw (0,1.5cm) --(0.2cm,1.5cm)--(0.2cm,1.3cm) -- (0,1.3cm);
  \end{tikzpicture}
}

\newcommand{\macompetence}[1]{%
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
  \noindent{\large \bfseries \sc \textcolor{\macouleur}{#1}}
  
  \vspace*{-.5\baselineskip}
  \noindent\textcolor{\macouleur}{\rule{\textwidth}{1pt}}\break
}
