spb/uqo_cours_public Public
UQO — matériel de cours en évaluation immobilière (version publique, sans examens ni corrigés).
TeX 89.1%
Python 10.9%
1% =============================================================================2% Style UQO pour présentations Beamer — IMM10033% Université du Québec en Outaouais4% Auteur : Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca5% © 2026 Simon-Pierre Boucher6% Design moderne « flat » : Fira Sans, accents dorés, barre de progression,7% page titre avec photo du pavillon Lucien-Brault (images/)8% =============================================================================9\ProvidesPackage{uqo-style}1011% --- Packages requis ---12\RequirePackage[utf8]{inputenc}13\RequirePackage[T1]{fontenc}14\RequirePackage[french]{babel}15\RequirePackage{lmodern}16\RequirePackage[sfdefault,scaled=0.92]{FiraSans}17\RequirePackage{amsmath,amssymb}18\RequirePackage{graphicx}19\RequirePackage{booktabs}20\RequirePackage{array}21\RequirePackage{multirow}22\RequirePackage{colortbl}23\RequirePackage{tikz}24\RequirePackage{pgfplots}25\RequirePackage{hyperref}26\RequirePackage{fontawesome5}27\RequirePackage{tcolorbox}28% enumitem retiré car incompatible avec Beamer29\RequirePackage[backend=biber, style=authoryear, sorting=nyt, maxbibnames=6]{biblatex}30\addbibresource{references.bib}31\renewcommand*{\bibfont}{\footnotesize}32\setlength\bibitemsep{0.55\baselineskip}33\RequirePackage{listings}34\RequirePackage{eurosym}35\RequirePackage{textcomp}36\RequirePackage{pifont}37\RequirePackage{calc}38\RequirePackage{appendixnumberbeamer}3940\pgfplotsset{compat=1.18}41\usetikzlibrary{shapes,arrows,arrows.meta,positioning,calc,decorations.pathreplacing,shadows,fit}4243% --- Couleurs UQO ---44\definecolor{uqoBleu}{RGB}{0, 62, 126} % Bleu principal UQO45\definecolor{uqoBleuClair}{RGB}{41, 118, 187} % Bleu clair46\definecolor{uqoOr}{RGB}{204, 164, 36} % Or/doré UQO47\definecolor{uqoGris}{RGB}{96, 102, 112} % Gris foncé48\definecolor{uqoGrisClair}{RGB}{208, 213, 220} % Gris clair49\definecolor{uqoBlanc}{RGB}{255, 255, 255} % Blanc50\definecolor{uqoVert}{RGB}{16, 124, 78} % Vert accent51\definecolor{uqoRouge}{RGB}{178, 42, 32} % Rouge accent52\definecolor{uqoBgClair}{RGB}{242, 246, 250} % Fond clair53\definecolor{uqoNavy}{RGB}{9, 26, 51} % Bleu nuit (pages titre/section)54\definecolor{uqoInk}{RGB}{38, 43, 52} % Texte courant5556% =============================================================================57% THÈME — base neutre, tout est redéfini à la main (design flat)58% =============================================================================59\usetheme{default}60\usefonttheme{professionalfonts}6162\setbeamercolor{background canvas}{bg=uqoBlanc}63\setbeamercolor{normal text}{fg=uqoInk}64\setbeamercolor{structure}{fg=uqoBleu}65\setbeamercolor{alerted text}{fg=uqoRouge}66\setbeamercolor{example text}{fg=uqoVert}6768\setbeamercolor{title}{fg=uqoBlanc}69\setbeamercolor{subtitle}{fg=uqoOr}70\setbeamercolor{frametitle}{fg=uqoBleu, bg=uqoBlanc}71\setbeamercolor{framesubtitle}{fg=uqoGris}72\setbeamercolor{author}{fg=uqoGris}73\setbeamercolor{institute}{fg=uqoGris}74\setbeamercolor{date}{fg=uqoGris}7576\setbeamercolor{block title}{bg=uqoBleu, fg=uqoBlanc}77\setbeamercolor{block body}{bg=uqoBgClair, fg=uqoInk}78\setbeamercolor{block title alerted}{bg=uqoRouge, fg=uqoBlanc}79\setbeamercolor{block body alerted}{bg=uqoBgClair, fg=uqoInk}80\setbeamercolor{block title example}{bg=uqoVert, fg=uqoBlanc}81\setbeamercolor{block body example}{bg=uqoBgClair, fg=uqoInk}8283\setbeamercolor{item}{fg=uqoBleu}84\setbeamercolor{subitem}{fg=uqoOr}85\setbeamercolor{subsubitem}{fg=uqoGris}8687\setbeamercolor{section in toc}{fg=uqoBleu}88\setbeamercolor{subsection in toc}{fg=uqoGris}8990\setbeamercolor{bibliography entry author}{fg=uqoInk}91\setbeamercolor{bibliography entry title}{fg=uqoBleu}92\setbeamercolor{bibliography entry location}{fg=uqoGris}93\setbeamercolor{bibliography entry note}{fg=uqoGris}9495% --- Polices ---96\setbeamerfont{title}{size=\huge, series=\bfseries}97\setbeamerfont{subtitle}{size=\footnotesize, series=\bfseries}98\setbeamerfont{frametitle}{size=\large, series=\bfseries}99\setbeamerfont{framesubtitle}{size=\small}100\setbeamerfont{block title}{size=\small, series=\bfseries}101\setbeamerfont{footnote}{size=\tiny}102\setbeamerfont{footline}{size=\tiny}103104% --- Navigation ---105\setbeamertemplate{navigation symbols}{}106107% --- Espacement généreux : marges larges, texte aéré ---108\setlength{\parskip}{3pt}109\setbeamersize{text margin left=9mm, text margin right=9mm}110\beamerdefaultoverlayspecification{}111\linespread{1.06}112113% =============================================================================114% TITRE DE CADRE — titre bleu, tiret doré + filet fin115% =============================================================================116\setbeamertemplate{frametitle}{%117 \nointerlineskip118 \vskip2.6mm119 \begin{beamercolorbox}[wd=\textwidth]{frametitle}120 \usebeamerfont{frametitle}\insertframetitle%121 \ifx\insertframesubtitle\@empty\else122 \\[0.3ex]{\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle}%123 \fi124 \end{beamercolorbox}125 \vskip1.2mm126 \leavevmode\hbox{%127 {\color{uqoOr}\rule[0.6pt]{9mm}{1.6pt}}%128 \hspace{1.5pt}%129 {\color{uqoGrisClair}\rule[1.1pt]{\dimexpr\textwidth-9mm-1.5pt\relax}{0.5pt}}%130 }%131 \vskip2mm132}133\setbeamertemplate{frametitle continuation}[from second][{\normalsize\color{uqoGris}~(suite)}]134135% =============================================================================136% PIED DE PAGE — barre de progression dorée + infos discrètes137% =============================================================================138\setbeamertemplate{footline}{%139 \leavevmode%140 \hbox to \paperwidth{\hspace*{6mm}%141 {\usebeamerfont{footline}\color{uqoGris}%142 \insertshorttitle\ \textbullet\ \insertshortauthor\ \textbullet\ UQO}%143 \hfill144 {\usebeamerfont{footline}\color{uqoGris}%145 \insertframenumber\,/\,\inserttotalframenumber}%146 \hspace*{6mm}}%147 \vskip0.8mm148 \begin{tikzpicture}149 \fill[uqoBgClair] (0,0) rectangle (\paperwidth,0.55mm);150 \pgfmathsetlengthmacro{\uqoprogress}{%151 \paperwidth*min(1,\insertframenumber/max(1,\inserttotalframenumber))}152 \fill[uqoOr] (0,0) rectangle (\uqoprogress,0.55mm);153 \end{tikzpicture}%154 \vskip0pt%155}156157% =============================================================================158% PUCES ET NUMÉROTATION159% =============================================================================160\setbeamertemplate{itemize item}{\raisebox{0.28ex}{\scriptsize\color{uqoBleu}$\blacktriangleright$}}161\setbeamertemplate{itemize subitem}{\raisebox{0.32ex}{\tiny\color{uqoOr}$\blacktriangleright$}}162\setbeamertemplate{itemize subsubitem}{\raisebox{0.25ex}{\scriptsize\color{uqoGris}--}}163164\setbeamertemplate{enumerate item}{%165 \tikz[baseline=-0.68ex]\node[fill=uqoBleu, text=uqoBlanc, circle,166 inner sep=0.4pt, minimum size=2.1ex, font=\scriptsize\bfseries]{\insertenumlabel};}167\setbeamertemplate{enumerate subitem}{%168 \tikz[baseline=-0.68ex]\node[draw=uqoBleuClair, text=uqoBleuClair, circle,169 line width=0.5pt, inner sep=0.4pt, minimum size=1.9ex, font=\tiny\bfseries]{\insertsubenumlabel};}170171\addtobeamertemplate{itemize/enumerate body begin}{\setlength{\itemsep}{5pt}\setlength{\parsep}{0pt}\setlength{\topsep}{4pt}\setlength{\partopsep}{0pt}}{}172\addtobeamertemplate{itemize/enumerate body end}{}{}173174% =============================================================================175% TABLE DES MATIÈRES — pastilles numérotées176% =============================================================================177\setbeamertemplate{section in toc}{%178 \vskip4pt179 \leavevmode180 \tikz[baseline=-0.68ex]\node[fill=uqoBleu, text=uqoBlanc, circle,181 inner sep=0.4pt, minimum size=2.3ex, font=\scriptsize\bfseries]{\inserttocsectionnumber};%182 \hspace{0.6em}{\color{uqoBleu}\bfseries\inserttocsection}\par183}184\setbeamertemplate{subsection in toc}{%185 \vskip2pt186 \leavevmode\hspace{2.4em}%187 {\color{uqoOr}\scriptsize$\blacktriangleright$}\hspace{0.5em}%188 {\color{uqoGris}\small\inserttocsubsection}\par189}190191% =============================================================================192% BIBLIOGRAPHIE193% =============================================================================194\setbeamertemplate{bibliography item}{\color{uqoOr}\small\faIcon{book}}195196% =============================================================================197% PAGE DE SECTION — pleine page bleu nuit, grand numéro, filet doré198% =============================================================================199\newcommand{\uqoSectionNum}{\ifnum\insertsectionnumber<10 0\fi\insertsectionnumber}200201\AtBeginSection[]{%202 \begin{frame}[plain,noframenumbering]203 \begin{tikzpicture}[remember picture,overlay]204 \fill[uqoNavy] (current page.south west) rectangle (current page.north east);205 % décorations géométriques206 \draw[uqoBleuClair, opacity=0.20, line width=0.9pt]207 ([xshift=-18mm,yshift=-6mm]current page.north east) circle (24mm);208 \draw[uqoBleuClair, opacity=0.12, line width=0.9pt]209 ([xshift=-6mm,yshift=-18mm]current page.north east) circle (33mm);210 \draw[uqoOr, opacity=0.55, line width=0.8pt]211 ([xshift=-34mm,yshift=-24mm]current page.north east) circle (9mm);212 \fill[uqoOr] ([xshift=-48mm,yshift=-12mm]current page.north east) circle (1mm);213 % grand numéro en filigrane214 \node[anchor=south east, text=uqoBlanc, opacity=0.08,215 font=\fontsize{88}{88}\selectfont\bfseries]216 at ([xshift=-6mm,yshift=-3mm]current page.south east) {\uqoSectionNum};217 % étiquette218 \node[anchor=west, text=uqoOr, font=\footnotesize\bfseries]219 at ([xshift=14mm,yshift=10mm]current page.west) {SECTION~\insertsectionnumber};220 \fill[uqoOr] ([xshift=14mm,yshift=7mm]current page.west) rectangle ++(11mm,0.55mm);221 % titre de section222 \node[anchor=north west, text=uqoBlanc, font=\LARGE\bfseries,223 text width=125mm, align=left]224 at ([xshift=14mm,yshift=4.5mm]current page.west) {\insertsectionhead};225 % rappel du cours en bas226 \node[anchor=south west, text=uqoGrisClair, font=\tiny]227 at ([xshift=14mm,yshift=6mm]current page.south west)228 {\insertshorttitle\ \textbullet\ \insertshortauthor\ \textbullet\ UQO};229 \end{tikzpicture}230 \end{frame}231}232233% =============================================================================234% PAGE TITRE — panneau bleu nuit + zone blanche (auteur, logo)235% + bandeau photo : pavillon Lucien-Brault (UQO)236% =============================================================================237\defbeamertemplate*{title page}{uqo}[1][]238{%239 \begin{tikzpicture}[remember picture,overlay]240 % panneau bleu nuit241 \fill[uqoNavy] (current page.north west) rectangle242 ([yshift=-50mm]current page.north east);243 \fill[uqoOr] ([yshift=-50mm]current page.north west) rectangle244 ([yshift=-48.9mm]current page.north east);245 % décorations géométriques (limitées au panneau)246 \begin{scope}247 \clip (current page.north west) rectangle ([yshift=-50mm]current page.north east);248 \draw[uqoBleuClair, opacity=0.28, line width=1pt]249 ([xshift=-22mm,yshift=-4mm]current page.north east) circle (25mm);250 \draw[uqoBleuClair, opacity=0.16, line width=1pt]251 ([xshift=-8mm,yshift=-18mm]current page.north east) circle (34mm);252 \draw[uqoOr, opacity=0.65, line width=0.9pt]253 ([xshift=-38mm,yshift=-30mm]current page.north east) circle (10mm);254 \fill[uqoOr] ([xshift=-52mm,yshift=-13mm]current page.north east) circle (1.1mm);255 \end{scope}256 % sous-titre (accroche dorée)257 \node[anchor=north west, text=uqoOr, font=\footnotesize\bfseries]258 at ([xshift=12mm,yshift=-9.5mm]current page.north west)259 {\MakeUppercase{\insertsubtitle}};260 \fill[uqoOr] ([xshift=12mm,yshift=-14.7mm]current page.north west)261 rectangle ++(11mm,0.55mm);262 % titre principal263 \node[anchor=north west, text=uqoBlanc, font=\LARGE\bfseries,264 text width=118mm, align=left,265 execute at begin node={\hyphenpenalty=10000\exhyphenpenalty=10000\relax}]266 at ([xshift=12mm,yshift=-18mm]current page.north west) {\inserttitle};267 % date (pastille, dans le panneau)268 \node[anchor=south west, text=uqoBlanc, font=\footnotesize,269 draw=uqoOr, line width=0.7pt, rounded corners=2pt,270 inner xsep=7pt, inner ysep=4pt]271 at ([xshift=12mm,yshift=44mm]current page.south west)272 {\faIcon{calendar-alt}\hspace{5pt}\insertdate};273 % zone blanche : auteur et coordonnées (gauche) + logo (droite)274 \node[anchor=north west, align=left]275 at ([xshift=12mm,yshift=-52mm]current page.north west)276 {\begin{minipage}{105mm}\raggedright277 {\normalsize\bfseries\color{uqoBleu}\insertauthor\par}278 \vspace{1mm}279 {\footnotesize\color{uqoGris}\insertinstitute\par}280 \vspace{1.3mm}281 {\footnotesize\color{uqoGris}%282 \textcolor{uqoOr}{\faIcon{envelope}}\hspace{4pt}%283 \href{mailto:simon-pierre.boucher@uqo.ca}{simon-pierre.boucher@uqo.ca}%284 \hspace{9pt}%285 \textcolor{uqoOr}{\faIcon{map-marker-alt}}\hspace{4pt}%286 Pavillon Lucien-Brault, Gatineau\par}287 \end{minipage}};288 \node[anchor=north east]289 at ([xshift=-10mm,yshift=-53.5mm]current page.north east)290 {\includegraphics[height=11mm]{uqo-logo.png}};291 % bandeau photo : pavillon Lucien-Brault292 \node[anchor=south west, inner sep=0pt] (plb)293 at (current page.south west)294 {\includegraphics[width=\paperwidth,height=18mm]{images/pavillon-lucien-brault-banner.jpg}};295 \fill[uqoNavy, opacity=0.22]296 (current page.south west) rectangle ([yshift=18mm]current page.south east);297 \fill[uqoOr] ([yshift=18mm]current page.south west)298 rectangle ([yshift=18.8mm]current page.south east);299 % crédit photo (attribution CC BY-SA)300 \node[anchor=south east, text=uqoBlanc, opacity=0.75, font=\fontsize{3.4}{4}\selectfont]301 at ([xshift=-1.5mm,yshift=0.8mm]current page.south east)302 {Pavillon Lucien-Brault --- photo : Denis Yuen, Wikimedia Commons, CC BY-SA 2.5};303 \end{tikzpicture}%304}305306% =============================================================================307% BOÎTES tcolorbox — style « admonition » moderne (filet gauche + fond teinté)308% =============================================================================309\tcbuselibrary{skins,breakable}310311\tcbset{uqobox/.style={312 enhanced,313 boxrule=0pt, frame hidden,314 arc=1.5pt,315 left=9pt, right=9pt, top=5pt, bottom=5pt,316 before skip=6pt, after skip=6pt,317 fontupper=\small,318 detach title,319 before upper={\tcbtitle\par\vspace{3pt}},320 fonttitle=\bfseries\small321}}322323\newtcolorbox{defbox}[1][Définition]{324 uqobox,325 colback=uqoBleu!6,326 borderline west={2.5pt}{0pt}{uqoBleu},327 coltitle=uqoBleu,328 title={\faIcon{book-open}\hspace{5pt}#1}329}330331\newtcolorbox{importbox}[1][Important]{332 uqobox,333 colback=uqoRouge!6,334 borderline west={2.5pt}{0pt}{uqoRouge},335 coltitle=uqoRouge,336 title={\faIcon{exclamation-triangle}\hspace{5pt}#1}337}338339\newtcolorbox{exbox}[1][Exemple]{340 uqobox,341 colback=uqoVert!7,342 borderline west={2.5pt}{0pt}{uqoVert},343 coltitle=uqoVert,344 title={\faIcon{lightbulb}\hspace{5pt}#1}345}346347\newtcolorbox{notebox}[1][Note]{348 uqobox,349 colback=uqoOr!9,350 borderline west={2.5pt}{0pt}{uqoOr},351 coltitle=uqoOr!50!uqoGris,352 title={\faIcon{pen}\hspace{5pt}#1}353}354355\newtcolorbox{quizbox}[1][Question]{356 uqobox,357 colback=uqoBleuClair!8,358 borderline west={2.5pt}{0pt}{uqoBleuClair},359 coltitle=uqoBleuClair!75!uqoNavy,360 title={\faIcon{question-circle}\hspace{5pt}#1}361}362363% =============================================================================364% STYLES TikZ PARTAGÉS — diagrammes de flux et cartes365% =============================================================================366\tikzset{367 uqoflow/.style={rectangle, rounded corners, draw=uqoBleu, fill=uqoBgClair,368 text centered, font=\small, minimum height=0.58cm},369 uqostep/.style={uqoflow, text width=10.5cm},370 uqocard/.style={rectangle, rounded corners=6pt, draw=uqoBleu, fill=uqoBgClair,371 text centered, font=\small},372 uqoarrow/.style={->, thick, uqoBleu},373}374375% =============================================================================376% LISTINGS377% =============================================================================378\lstset{379 basicstyle=\ttfamily\scriptsize,380 keywordstyle=\color{uqoBleu}\bfseries,381 commentstyle=\color{uqoGris}\itshape,382 stringstyle=\color{uqoVert},383 backgroundcolor=\color{uqoBgClair},384 frame=single,385 rulecolor=\color{uqoGrisClair},386 breaklines=true,387 showstringspaces=false,388 numbers=left,389 numberstyle=\tiny\color{uqoGris},390 tabsize=2391}392393% =============================================================================394% GRAPHIQUES pgfplots — habillage discret par défaut395% =============================================================================396\pgfplotsset{397 /pgf/number format/1000 sep={},398 every axis/.append style={399 axis line style={uqoGris!55},400 tick style={uqoGris!55},401 tick label style={font=\scriptsize, color=uqoGris},402 label style={font=\small, color=uqoInk},403 legend style={font=\tiny, draw=uqoGrisClair, fill=white, fill opacity=0.9},404 },405}406407% --- Anti-overflow pour tableaux ---408\renewcommand{\arraystretch}{1.08}409410% =============================================================================411% COMMANDES UTILES412% =============================================================================413\newcommand{\uqotitle}[1]{\textcolor{uqoBleu}{\textbf{#1}}}414\newcommand{\uqohighlight}[1]{\textcolor{uqoOr!75!uqoGris}{\textbf{#1}}}415\newcommand{\uqoalert}[1]{\textcolor{uqoRouge}{\textbf{#1}}}416\newcommand{\uqogreen}[1]{\textcolor{uqoVert}{\textbf{#1}}}417418% Séparateur visuel419\newcommand{\uqosep}{%420 \begin{center}421 \tikz{422 \fill[uqoOr] (0,0) circle (0.5mm);423 \draw[uqoGrisClair, line width=0.5pt] (0.25,0) -- (2.6,0);424 \draw[uqoGrisClair, line width=0.5pt] (-2.6,0) -- (-0.25,0);425 }%426 \end{center}427}428429% =============================================================================430% SLIDE DE CONTACT431% =============================================================================432\newcommand{\contactslide}[1][]{%433 \begin{center}434 \tikz[baseline]{\node[fill=uqoBleu, text=uqoBlanc, circle, minimum size=10mm]435 {\faIcon{comments}};}\\[1.5mm]436 {\Large\color{uqoBleu}\textbf{Questions et discussion}}437438 \vspace{0.2cm}439 \begin{tcolorbox}[enhanced, width=0.72\textwidth, boxrule=0pt, frame hidden,440 colback=uqoBgClair, arc=2.5pt,441 borderline north={1.4pt}{0pt}{uqoOr},442 left=10pt, right=10pt, top=8pt, bottom=8pt]443 \centering444 {\large\textbf{\color{uqoBleu}Simon-Pierre Boucher}}\\[1.5pt]445 {\small\color{uqoGris}\textit{Professeur} --- Département des sciences administratives}\\[5pt]446 {\small\textcolor{uqoOr}{\faIcon{envelope}}\hspace{5pt}%447 \href{mailto:simon-pierre.boucher@uqo.ca}{simon-pierre.boucher@uqo.ca}}\\[3pt]448 {\small\textcolor{uqoOr}{\faIcon{map-marker-alt}}\hspace{5pt}%449 Gatineau --- Pavillon Lucien-Brault}\\[1pt]450 {\footnotesize\color{uqoGris}101, rue Saint-Jean-Bosco, Gatineau (Québec) J8X~3X7}451 \end{tcolorbox}452453 \ifx\\#1\\%454 \else455 \vspace{0.2cm}456 {\small\color{uqoGris}\faIcon{arrow-circle-right}\hspace{4pt}\textit{#1}}457 \fi458 \end{center}459}460461\endinput462