Les fichiers de chapitres référencés par docs/pronote-auth.tex (preamble, frontmatter, ch-*, annex-*) n'avaient jamais été committés, rendant le PDF non reproductible. Reconstitution fidèle depuis docs/pronote-auth.md, correction des instructions de compilation (TEXINPUTS + -output-directory), ajout de l'Annexe C, du Glossaire et de l'Historique des révisions, PDF régénéré (27 pages).
160 lines
5.2 KiB
TeX
160 lines
5.2 KiB
TeX
% =============================================================================
|
||
% 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
|
||
% =============================================================================
|