Files
formation-arduino/README.md
T
ArtemiaandClaude Opus 5.5 503aa66dc0 Polices libres Noto Sans / Noto Sans Mono, vérifiées et installées par l'assistant
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>
2026-10-18 17:00:53 +02:00

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
![Légende de la figure](../schemas/svg/m03-servo-50hz.svg){#fig-m03-servo-50hz}
```
## Historique
Les supports étaient à l'origine au format `.odt` ; ils restent récupérables via le tag `avant-quarto`.