% ============================================================================= % PRÉAMBULE LaTeX — Authentification Pronote % ============================================================================= % --- Classe de document --- \documentclass[11pt,a4paper,oneside]{report} % --- Encodage et langue --- \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[french]{babel} \usepackage{lmodern} % --- Polices (plan documentaire : EB Garamond / Carlito / DejaVu Sans Mono) --- % EB Garamond (sérif) : police principale du document \usepackage{ebgaramond} % Carlito (sans-sérif, compatible métriquement Calibri) \usepackage[sfdefault]{carlito} % DejaVu Sans Mono (chasse fixe) : code, JSON, requêtes HTTP % (fontspec est déjà chargé par EB Garamond sous LuaLaTeX) \setmonofont{DejaVu Sans Mono}[Scale=0.9] % --- Couleurs (palette Bleu Institutionnel & Ardoise) --- \usepackage{xcolor} \definecolor{primaryNavy}{RGB}{20,45,85} \definecolor{secondarySlate}{RGB}{70,95,125} \definecolor{accentSteel}{RGB}{0,115,150} \definecolor{lightGray}{RGB}{240,240,240} \definecolor{warningRed}{RGB}{180,50,50} % --- Mise en page --- \usepackage[a4paper, margin=2.5cm, top=2cm, bottom=2cm]{geometry} \usepackage{parskip} \setlength{\parskip}{1em} \setlength{\parindent}{0pt} % --- Hyperliens et PDF --- \usepackage{hyperref} \hypersetup{ colorlinks=true, linkcolor=accentSteel, urlcolor=accentSteel, citecolor=secondarySlate, filecolor=primaryNavy, menucolor=primaryNavy, runcolor=primaryNavy, pdfauthor={Équipe Architecture & Sécurité}, pdftitle={Authentification Pronote — Référence technique}, pdfsubject={Référence technique d'authentification pour pronote-sync}, pdfkeywords={Pronote, authentification, pronote-sync, QR code, token, ENT, iCal}, bookmarksopen=true, bookmarksnumbered=true } % --- Titres et sections --- \usepackage{titlesec} \titleformat{\chapter}[display] {\normalfont\huge\bfseries\color{primaryNavy}} {\chaptertitlename\ \thechapter} {20pt} {\Huge\color{primaryNavy}} \titleformat{\section} {\normalfont\Large\bfseries\color{primaryNavy}} {\thesection} {1em} {\color{primaryNavy}} \titleformat{\subsection} {\normalfont\large\bfseries\color{secondarySlate}} {\thesubsection} {1em} {\color{secondarySlate}} \titleformat{\subsubsection} {\normalfont\bfseries\color{secondarySlate}} {\thesubsubsection} {1em} {\color{secondarySlate}} % --- Tableaux --- \usepackage{tabularx} \usepackage{booktabs} \usepackage{array} \newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}\hspace{1em}}p{#1}} \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}\hspace{1em}}p{#1}} \newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}\hspace{1em}}p{#1}} % --- Listes et encadrés --- \usepackage{enumitem} \setlist[itemize]{leftmargin=*, topsep=0.5em, itemsep=0.25em} \setlist[enumerate]{leftmargin=*, topsep=0.5em, itemsep=0.25em} % --- Callouts (encadrés colorés) --- \usepackage{mdframed} \newmdenv[linecolor=warningRed, linewidth=2pt, leftmargin=10pt, rightmargin=10pt, innerleftmargin=10pt, innerrightmargin=10pt, backgroundcolor=red!5!white, roundcorner=5pt, skipabove=10pt, skipbelow=10pt]{warningbox} \newmdenv[linecolor=secondarySlate, linewidth=2pt, leftmargin=10pt, rightmargin=10pt, innerleftmargin=10pt, innerrightmargin=10pt, backgroundcolor=blue!5!white, roundcorner=5pt, skipabove=10pt, skipbelow=10pt]{infobox} % --- Code source --- \usepackage{listings} \lstdefinestyle{pronote}{ basicstyle=\ttfamily\footnotesize, breaklines=true, frame=single, rulecolor=\color{gray!30}, backgroundcolor=\color{lightGray}, keywordstyle=\color{primaryNavy}, stringstyle=\color{secondarySlate}, commentstyle=\color{gray}, showstringspaces=false, tabsize=2, captionpos=b, xleftmargin=10pt, xrightmargin=10pt, aboveskip=10pt, belowskip=10pt } \lstset{style=pronote} % --- Symboles et icônes --- \usepackage{amssymb} \usepackage{pifont} \newcommand{\checkmarkicon}{\ding{51}} % ✓ \newcommand{\warningicon}{\ding{43}} % ⚠ \newcommand{\infoicon}{\ding{48}} % ℹ \newcommand{\crossicon}{\ding{55}} % ✗ % --- Mathématiques --- \usepackage{amsmath} % --- Table des matières --- \usepackage{tocloft} \renewcommand{\cftchapfont}{\normalfont\bfseries\color{primaryNavy}} \renewcommand{\cftsecfont}{\normalfont\color{primaryNavy}} \renewcommand{\cftsubsecfont}{\normalfont\color{secondarySlate}} % --- En-têtes et pieds de page --- \usepackage{fancyhdr} \pagestyle{fancy} \fancyhf{} \fancyhead[LE,RO]{\thepage} \fancyhead[LO]{\nouppercase{\rightmark}} \fancyhead[RE]{\nouppercase{\leftmark}} \renewcommand{\headrulewidth}{0.5pt} \renewcommand{\footrulewidth}{0pt} % --- Espacement vertical --- \usepackage{setspace} \onehalfspacing % --- Césure --- \usepackage{microtype} % --- Support des emojis (repli sur texte si non disponible) --- \newcommand{\emojiwarning}{\warningicon} \newcommand{\emojicheck}{\checkmarkicon} \newcommand{\emojicross}{\crossicon} \newcommand{\emojiinfo}{\infoicon} % ============================================================================= % FIN DU PRÉAMBULE % =============================================================================