Passe à Quarto : projet, gabarit PDF (Typst) et module 3 en .qmd

Le Markdown remplace le .odt binaire comme source : modifications lisibles dans git, PDF produit par 'quarto render'. Le gabarit reprend la charte des supports (titres bleus, encadrés, code coloré, en-tête et pied de page). Conversion vérifiée : 865 mots, aucun écart avec le .odt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Artemia
2026-10-18 14:55:16 +02:00
co-authored by Claude Opus 5.5
parent 8012ce98b3
commit ff1628efeb
5 changed files with 455 additions and 0 deletions
+217
View File
@@ -0,0 +1,217 @@
{
"custom-styles": {
"INI Files": {
"Section": {
"selected-text-color": "#6f42c1",
"text-color": "#6f42c1"
}
},
"Python": {
"Builtin Function": {
"selected-text-color": "#6f42c1",
"text-color": "#6f42c1"
},
"Import": {
"selected-text-color": "#d73a49",
"text-color": "#d73a49"
},
"Special Variable": {
"selected-text-color": "#005cc5",
"text-color": "#005cc5"
}
},
"Rust": {
"Attribute": {
"selected-text-color": "#24292e",
"text-color": "#24292e"
},
"Macro": {
"selected-text-color": "#005cc5",
"text-color": "#005cc5"
},
"Self": {
"selected-text-color": "#005cc5",
"text-color": "#005cc5"
},
"Trait": {
"selected-text-color": "#24292e",
"text-color": "#24292e"
}
},
"XML": {
"Element": {
"selected-text-color": "#22863a",
"text-color": "#22863a"
}
}
},
"editor-colors": {
"BackgroundColor": "#ffffff",
"BracketMatching": "#bef5cb",
"CodeFolding": "#f6f8fa",
"CurrentLine": "#f6f8fa",
"CurrentLineNumber": "#24292e",
"IconBorder": "#ffffff",
"IndentationLine": "#d7dbe0",
"LineNumbers": "#c7c2bc",
"MarkBookmark": "#8be9fd",
"MarkBreakpointActive": "#ff5555",
"MarkBreakpointDisabled": "#bd93f9",
"MarkBreakpointReached": "#f1fa8c",
"MarkError": "#b31d28",
"MarkExecution": "#44475a",
"MarkWarning": "#e36209",
"ModifiedLines": "#d73a49",
"ReplaceHighlight": "#50fa7b",
"SavedLines": "#28a745",
"SearchHighlight": "#ffea7f",
"Separator": "#e1e4e8",
"SpellChecking": "#ff5555",
"TabMarker": "#d1d5da",
"TemplateBackground": "#23241e",
"TemplateFocusedPlaceholder": "#22231d",
"TemplatePlaceholder": "#22231d",
"TemplateReadOnlyPlaceholder": "#262721",
"TextSelection": "#dee6fc",
"WordWrapMarker": "#e1e4e8"
},
"metadata": {
"copyright": [
"SPDX-FileCopyrightText: 2020 GitHub Inc.",
"SPDX-FileCopyrightText: 2020 Waqar Ahmed <waqar.17a@gmail.com>"
],
"license": "SPDX-License-Identifier: MIT",
"name": "GitHub Light",
"revision": 2
},
"text-styles": {
"Alert": {
"bold": true,
"selected-text-color": "#ff5555",
"text-color": "#ff5555"
},
"Annotation": {
"selected-text-color": "#6a737d",
"text-color": "#6a737d"
},
"Attribute": {
"selected-text-color": "#d73a49",
"text-color": "#d73a49"
},
"BaseN": {
"selected-text-color": "#005cc5",
"text-color": "#005cc5"
},
"BuiltIn": {
"selected-text-color": "#d73a49",
"text-color": "#d73a49"
},
"Char": {
"selected-text-color": "#032f62",
"text-color": "#032f62"
},
"Comment": {
"selected-text-color": "#6a737d",
"text-color": "#6a737d"
},
"CommentVar": {
"selected-text-color": "#6a737d",
"text-color": "#6a737d"
},
"Constant": {
"selected-text-color": "#005cc5",
"text-color": "#005cc5"
},
"ControlFlow": {
"selected-text-color": "#d73a49",
"text-color": "#d73a49"
},
"DataType": {
"selected-text-color": "#d73a49",
"text-color": "#d73a49"
},
"DecVal": {
"selected-text-color": "#005cc5",
"text-color": "#005cc5"
},
"Documentation": {
"selected-text-color": "#6a737d",
"text-color": "#6a737d"
},
"Error": {
"selected-text-color": "#ff5555",
"text-color": "#ff5555",
"underline": true
},
"Extension": {
"bold": true,
"selected-text-color": "#d73a49",
"text-color": "#d73a49"
},
"Float": {
"selected-text-color": "#005cc5",
"text-color": "#005cc5"
},
"Function": {
"selected-text-color": "#6f42c1",
"text-color": "#6f42c1"
},
"Import": {
"selected-text-color": "#032f62",
"text-color": "#032f62"
},
"Information": {
"selected-text-color": "#6a737d",
"text-color": "#6a737d"
},
"Keyword": {
"selected-text-color": "#d73a49",
"text-color": "#d73a49"
},
"Normal": {
"selected-text-color": "#24292e",
"text-color": "#24292e"
},
"Operator": {
"selected-text-color": "#24292e",
"text-color": "#24292e"
},
"Others": {
"selected-text-color": "#6f42c1",
"text-color": "#6f42c1"
},
"Preprocessor": {
"selected-text-color": "#d73a49",
"text-color": "#d73a49"
},
"RegionMarker": {
"selected-text-color": "#6a737d",
"text-color": "#6a737d"
},
"SpecialChar": {
"selected-text-color": "#005cc5",
"text-color": "#005cc5"
},
"SpecialString": {
"selected-text-color": "#032f62",
"text-color": "#032f62"
},
"String": {
"selected-text-color": "#032f62",
"text-color": "#032f62"
},
"Variable": {
"selected-text-color": "#e36209",
"text-color": "#e36209"
},
"VerbatimString": {
"selected-text-color": "#032f62",
"text-color": "#032f62"
},
"Warning": {
"selected-text-color": "#ff5555",
"text-color": "#ff5555"
}
},
"background-color": "#f6f8fa"
}
+43
View File
@@ -0,0 +1,43 @@
// Note : Quarto décale les titres d'un niveau (## -> niveau 1, ### -> niveau 2).
// Gabarit commun des supports : couleurs, titres, en-tête et pied de page.
#let bleu-formation = rgb("#1a5fb4")
#let gris-doux = rgb("#6b7280")
#set page(
header: context {
if counter(page).get().first() > 1 [
#set text(size: 8pt, fill: gris-doux)
Formation ESP32-S3 avec Arduino Framework
#h(1fr)
#document.title
#v(-4pt)
#line(length: 100%, stroke: 0.4pt + gris-doux)
]
},
footer: context [
#set text(size: 8pt, fill: gris-doux)
#h(1fr)
#counter(page).display("1 / 1", both: true)
],
)
#show heading.where(level: 1): it => block(above: 1.6em, below: 0.8em, width: 100%)[
#set text(size: 14pt, weight: "semibold", fill: bleu-formation)
#it.body
#v(-6pt)
#line(length: 100%, stroke: 0.6pt + bleu-formation.lighten(60%))
]
#show heading.where(level: 2): set text(size: 11.5pt, weight: "semibold", fill: bleu-formation)
#show heading.where(level: 2): set block(above: 1.3em, below: 0.6em)
// Code : le fond et les couleurs viennent du thème modele/code.theme
#show raw: set text(size: 8.5pt)
// Tableaux : en-tête bleu
#set table(
stroke: 0.5pt + rgb("#d0d7de"),
fill: (_, y) => if y == 0 { bleu-formation } else if calc.even(y) { rgb("#f6f8fa") },
)
#show table.cell.where(y: 0): set text(fill: white, weight: "bold")
#show figure.caption: set text(size: 8.5pt, style: "italic", fill: gris-doux)