🤝 Contribuer au dépôt¶
Ce dépôt est collaboratif : il regroupe des tutoriels, exemples de code et fiches techniques pour les composants électroniques utilisés en Bac Pro et BTS CIEL.
Chacun peut contribuer en ajoutant un nouveau composant, en améliorant la documentation ou en partageant des exemples.
🧩 Convention de nommage¶
Pour garder une structure claire et homogène :
| Type | Exemple | Règle |
|---|---|---|
| Dossier composant | dht22, mpu6050, heltec_wifi_lora_32_v3 |
tout en minuscules, séparateurs _ |
| Tutoriels | tuto_minimal, tuto_i2c_advancé |
préfixe tuto_, nom explicite et concis |
🆕 Ajouter un composant¶
-
Copier le squelette :
cp -r templates/component_skeleton composants/<nom_du_composant> -
Compléter les fichiers Markdown :
README.md: présentation générale du composanttuto_1_*.md,tuto_2_*.md: tutoriels pas à pas-
references.md: fiches techniques, liens, documentation fabricant -
Créer au moins un exemple fonctionnel dans
code/: - Projet PlatformIO compilable
-
Inclure un fichier
platformio.iniet un dossiersrc/contenant le code (.ino,.cpp, etc.) -
Ajouter le composant à la navigation dans
mkdocs.yml:nav: - Composants: - Heltec WiFi LoRa 32 V3: composants/heltec_wifi_lora_32_v3/README.md
🗂️ Structure type d’un composant¶
composants/
└── heltec_wifi_lora_32_v3/
├── README.md
├── tuto_1_meshtastic.md
├── tuto_2_lora-sans-meshtastic.md
├── references.md
├── code/
│ ├── platformio.ini
│ └── src/
│ └── LoRaReceiver.ino
└── images/
└── heltec_wifi_lora_32_v3.png
Note
- Les sous-répertoires autres que
imagessont ignorés par la génération de la documentation. - Chaque fichier
.mdà la racine du composant génère une page HTML dans la doc. - Le code embarqué est idéalement conçu pour être compilé avec PlatformIO.
🧱 Générer et visualiser la documentation en local¶
🔧 Installation des outils¶
# Installer Python et pip
sudo apt update
sudo apt install python3 python3-pip -y
# Installer MkDocs et les extensions utilisées
pip3 install mkdocs-material mkdocs-include-markdown-plugin mkdocs-exclude
🪄 Génération automatique des pages¶
Chaque fois que vous ajoutez un composant, exécutez :
python ./synchro_docs.py
Cela met à jour la documentation à partir des fichiers présents dans composants/.
🌐 Visualiser le site en local¶
mkdocs serve
Le site est alors accessible sur :
➡️ http://127.0.0.1:8000/
Note
- La page Mise en page illustre les différents styles et rendus disponibles dans MkDocs.
- Le rechargement est automatique : toute modification d’un fichier
.mddansdocs/actualise le site instantanément. - En revanche, le script
synchro_docs.pydoit être relancé manuellement si vous modifiez un fichier danscomposants/.
Attention
Ne modifiez pas directement les fichiers dans docs/.
Le contenu principal est généré à partir du dossier composants/.
Si vous travaillez sur un tutoriel, pensez à rapatrier le .md correspondant dans le répertoire du composant avant de lancer synchro_docs.py.
⚖️ Licences¶
- Code source : CeCILL-B
- Documentation et tutoriels : CC-BY-NC-SA 4.0
✍️ Merci à tous les contributeurs !
Votre participation permet d’enrichir ce dépôt et de le rendre utile à toute la communauté CIEL.