Segoe UI et Consolas (polices Microsoft, non redistribuables) provoquaient des avertissements Typst sous Linux et macOS. Le gabarit utilise désormais Noto Sans et Noto Sans Mono. L'assistant vérifie leur présence (quarto typst fonts) et sinon les installe : paquets système sous Linux, ou téléchargement depuis le dépôt officiel Noto dans le dossier de polices de l'utilisateur (Windows, macOS, et secours Linux). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
89 lines
3.7 KiB
Markdown
89 lines
3.7 KiB
Markdown
# Formation Arduino (ESP32-S3)
|
|
|
|
Support de formation en 13 modules (00 à 12) plus une synthèse du matériel.
|
|
Les sources sont en Markdown [Quarto](https://quarto.org) (`modules/*.qmd`) et produisent des PDF.
|
|
|
|
| Fichier | Sujet |
|
|
|---|---|
|
|
| `00-installation` | Installation de l'environnement |
|
|
| `01-architecture` | Découverte du microcontrôleur ESP32-S3 |
|
|
| `02-gpio-neopixel` | Entrées/sorties numériques et LED NeoPixel |
|
|
| `03-pwm-adc` | Signaux analogiques : PWM et ADC |
|
|
| `04-serie-debug` | Communication série et débogage |
|
|
| `05-i2c-spi` | Bus I2C et SPI |
|
|
| `06-interruptions-timers` | Interruptions matérielles et timers |
|
|
| `07-wifi` | Wi-Fi : station, point d'accès, client HTTP |
|
|
| `08-serveurweb` | Serveur web embarqué |
|
|
| `09-ble` | Bluetooth Low Energy |
|
|
| `10-energie` | Gestion de l'énergie |
|
|
| `11-mqtt` | IoT et MQTT |
|
|
| `12-projetfinal` | Projet final |
|
|
| `synthese-materiel` | Synthèse et liste de matériel |
|
|
|
|
## Générer les documents sans ligne de commande
|
|
|
|
Après avoir téléchargé le dépôt (bouton « Télécharger » → ZIP, puis décompresser), double-cliquez sur le fichier
|
|
correspondant à votre système :
|
|
|
|
| Système | Fichier à lancer |
|
|
|---|---|
|
|
| Windows | `Generer-documents.bat` |
|
|
| macOS | `Generer-documents.command` (la première fois : clic droit → Ouvrir, pour passer l'avertissement de sécurité) |
|
|
| Linux | `generer-documents.sh` (clic droit → « Exécuter comme un programme », ou `./generer-documents.sh` dans un terminal) |
|
|
|
|
Une fenêtre s'ouvre et vous guide :
|
|
|
|
1. elle vérifie que **Python**, **Quarto** et les polices **Noto Sans / Noto Sans Mono** sont installés,
|
|
et propose de les installer automatiquement sinon (sous Linux, les polices sont généralement déjà présentes) ;
|
|
2. elle prépare l'environnement Python des schémas (dossier `.venv`, une seule fois) ;
|
|
3. elle vous demande le **format** (PDF, LibreOffice .odt ou site web HTML) et les **supports** à produire
|
|
(tous, ou un seul module) ;
|
|
4. elle génère les documents et ouvre le dossier `_output/modules` qui les contient.
|
|
|
|
Il suffit de taper le numéro de votre choix puis Entrée (Entrée seul = choix par défaut).
|
|
|
|
## Organisation
|
|
|
|
```
|
|
modules/ sources des supports (.qmd)
|
|
scripts/ assistant de génération (appelé par les fichiers Generer-documents.*)
|
|
modele/ gabarit PDF (Typst) et thème de coloration du code
|
|
schemas/ schémas décrits en Python (schemdraw + matplotlib), rendus en svg/ et png/
|
|
_quarto.yml configuration du projet
|
|
_output/ PDF générés (non versionnés)
|
|
```
|
|
|
|
## Produire les PDF
|
|
|
|
Prérequis : [Quarto](https://quarto.org/docs/get-started/) (inclut Pandoc et Typst) et les polices libres
|
|
[Noto Sans et Noto Sans Mono](https://notofonts.github.io/) (paquets `noto-fonts` sous Arch,
|
|
`fonts-noto-core fonts-noto-mono` sous Debian/Ubuntu).
|
|
|
|
```
|
|
quarto render # tous les supports
|
|
quarto render modules/03-pwm-adc.qmd # un seul support
|
|
```
|
|
|
|
Les PDF sont créés dans `_output/modules/`.
|
|
Pour obtenir aussi du Word ou de l'ODT, ajouter `docx:` ou `odt:` sous `format:` dans `_quarto.yml`.
|
|
|
|
## Modifier ou ajouter un schéma
|
|
|
|
Les images de `schemas/svg/` sont versionnées : il n'est nécessaire de les régénérer que si l'on modifie un schéma.
|
|
|
|
```
|
|
python -m venv .venv
|
|
.venv\Scripts\python -m pip install -r schemas/requirements.txt
|
|
.venv\Scripts\python schemas\generer.py # ou : generer.py m03
|
|
```
|
|
|
|
Un schéma est une fonction Python déclarée dans `schemas/mXX_*.py` (liste `FIGURES`), puis appelée dans le `.qmd` :
|
|
|
|
```markdown
|
|
{#fig-m03-servo-50hz}
|
|
```
|
|
|
|
## Historique
|
|
|
|
Les supports étaient à l'origine au format `.odt` ; ils restent récupérables via le tag `avant-quarto`.
|