docs(pronote-auth): reconstruire le source LaTeX et régénérer le PDF
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).
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
% =============================================================================
|
||||
% 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
|
||||
% =============================================================================
|
||||
Reference in New Issue
Block a user