|
1 | 1 | # Wiki Plugins DAP Pymodaq |
2 | 2 |
|
3 | | -Wiki technique documentant les plugins **PyMoDAQ** développés dans le cadre du projet |
4 | | -**DAP** (BTS CIEL, Lycée Edouard Branly, partenariat **CETHIL**) : le plugin **Arduino** |
5 | | -et le plugin **Raspberry** (qui unifie les anciens montages Raspberry Pi 3 et Pi Zero). |
| 3 | +Technical wiki documenting the **PyMoDAQ** plugins developed as part of the |
| 4 | +**DAP** project (BTS CIEL, Lycée Edouard Branly, in partnership with **CETHIL**): the |
| 5 | +**Arduino** plugin and the **Raspberry** plugin (which unifies the former Raspberry Pi 3 |
| 6 | +and Pi Zero setups). |
6 | 7 |
|
7 | | -Site de **documentation Sphinx** utilisant le thème **`sphinx_rtd_theme`** — le même que |
8 | | -la documentation officielle de PyMoDAQ (<https://pymodaq.cnrs.fr>) — rédigé en **anglais** |
9 | | -et déployé sur **GitHub Pages**. |
| 8 | +A **Sphinx documentation** site using the **`sphinx_rtd_theme`** theme — the same one |
| 9 | +used by the official PyMoDAQ documentation (<https://pymodaq.cnrs.fr>) — written in |
| 10 | +**English** and deployed on **GitHub Pages**. |
10 | 11 |
|
11 | | -## Aperçu |
| 12 | +## Overview |
12 | 13 |
|
13 | | -Documentation à deux sections, une par plugin : |
| 14 | +Documentation split into two sections, one per plugin: |
14 | 15 |
|
15 | | -- **Arduino plugin** — instruments autour d'une carte Arduino / ESP32 (Telemetrix) : |
16 | | - LED multicolore, ventilateur/chauffage, acquisition analogique et PT100 / ADS1115, |
17 | | - extension Dashboard. |
18 | | -- **Raspberry plugin** — pilotage d'un banc expérimental via une Raspberry Pi : un |
19 | | - actionneur et un détecteur PyMoDAQ dialoguant avec un serveur embarqué sur la Pi via |
| 16 | +- **Arduino plugin** — instruments built around an Arduino / ESP32 board (Telemetrix): |
| 17 | + multicolor LED, fan/heater, analog and PT100 / ADS1115 acquisition, Dashboard |
| 18 | + extension. |
| 19 | +- **Raspberry plugin** — control of an experimental setup via a Raspberry Pi: a |
| 20 | + PyMoDAQ actuator and detector communicating with a server embedded on the Pi via |
20 | 21 | ZeroMQ. |
21 | 22 |
|
22 | | -## Mention IA |
| 23 | +## AI Disclosure |
23 | 24 |
|
24 | | -Ce wiki a été conçu et développé avec l'assistance d'outils d'intelligence |
25 | | -artificielle, utilisés comme de véritables **outils de productivité**. C'est une |
26 | | -démarche assumée : l'IA fait aujourd'hui partie intégrante du métier de développeur et |
27 | | -du marché actuel, et nous choisissons de **nous y adapter et de la maîtriser** plutôt |
28 | | -que de l'ignorer. |
| 25 | +This wiki was designed and developed with the help of artificial intelligence tools, |
| 26 | +used as genuine **productivity tools**. This is a deliberate choice: AI is now an |
| 27 | +integral part of the developer profession and today's job market, and we choose to |
| 28 | +**adapt to it and master it** rather than ignore it. |
29 | 29 |
|
30 | | -Ce qui fait la différence, c'est l'**usage**. Nous nous **documentons en profondeur** |
31 | | -sur ces outils pour les exploiter avec discernement, comme un véritable levier de |
32 | | -productivité. L'IA accélère la mise en œuvre — elle ne remplace ni la conception, ni les |
33 | | -décisions techniques, ni la compréhension du code. La **grande majorité des |
34 | | -fonctionnalités** et de la **stack technique** employées ici nous sont familières : nous |
35 | | -savons ce qui a été construit, pourquoi, et comment le faire évoluer et le maintenir. |
| 30 | +What makes the difference is the **usage**. We **research these tools in depth** in |
| 31 | +order to use them with discernment, as a genuine productivity lever. AI speeds up |
| 32 | +implementation — it replaces neither the design, nor the technical decisions, nor the |
| 33 | +understanding of the code. The **vast majority of the features** and the **technical |
| 34 | +stack** used here are familiar to us: we know what was built, why, and how to evolve |
| 35 | +and maintain it. |
36 | 36 |
|
37 | | -Concrètement, un projet de cette envergure représente normalement **3 à 5 semaines de |
38 | | -travail à temps plein** (soit plusieurs mois en parallèle de nos études). En nous |
39 | | -appuyant sur l'IA, nous l'avons réalisé en une fraction de ce temps, en concentrant |
40 | | -notre énergie sur l'**architecture**, la **qualité** et les **détails** plutôt que sur |
41 | | -les tâches répétitives — exactement le gain de productivité recherché dans un |
42 | | -environnement de travail moderne. |
| 37 | +Concretely, a project of this scope normally represents **3 to 5 weeks of full-time |
| 38 | +work** (i.e. several months alongside our studies). By leveraging AI, we completed it |
| 39 | +in a fraction of that time, focusing our energy on **architecture**, **quality**, and |
| 40 | +**details** rather than repetitive tasks — exactly the productivity gain sought in a |
| 41 | +modern work environment. |
43 | 42 |
|
44 | | -## Structure du projet |
| 43 | +## Project Structure |
45 | 44 |
|
46 | 45 | ``` |
47 | 46 | wiki-plugins-dap-pymodaq/ |
48 | 47 | ├── docs/ |
49 | | -│ ├── requirements.txt # Dépendances Sphinx (sphinx, rtd-theme, design) |
| 48 | +│ ├── requirements.txt # Sphinx dependencies (sphinx, rtd-theme, design) |
50 | 49 | │ └── source/ |
51 | | -│ ├── conf.py # Configuration Sphinx (thème, version, langue) |
52 | | -│ ├── index.rst # Accueil (cartes vers les 2 plugins) |
53 | | -│ ├── _static/css/ # CSS d'appoint |
54 | | -│ ├── arduino/ # Documentation du plugin Arduino |
55 | | -│ └── raspberry/ # Documentation du plugin Raspberry |
56 | | -├── .github/workflows/deploy.yml # CI : build Sphinx + déploiement GitHub Pages |
57 | | -├── ARCHITECTURE.md # Choix techniques et organisation |
58 | | -├── CHANGELOG.md # Historique des versions |
59 | | -├── SPRINTS.md # Backlog et avancement par sprint |
| 50 | +│ ├── conf.py # Sphinx configuration (theme, version, language) |
| 51 | +│ ├── index.rst # Home page (cards linking to the 2 plugins) |
| 52 | +│ ├── _static/css/ # Supplementary CSS |
| 53 | +│ ├── arduino/ # Arduino plugin documentation |
| 54 | +│ └── raspberry/ # Raspberry plugin documentation |
| 55 | +├── .github/workflows/deploy.yml # CI: Sphinx build + GitHub Pages deployment |
| 56 | +├── ARCHITECTURE.md # Technical choices and organization |
| 57 | +├── CHANGELOG.md # Version history |
| 58 | +├── SPRINTS.md # Backlog and progress by sprint |
60 | 59 | └── README.md |
61 | 60 | ``` |
62 | 61 |
|
63 | | -Voir [ARCHITECTURE.md](ARCHITECTURE.md) pour le détail des choix techniques. |
| 62 | +See [ARCHITECTURE.md](ARCHITECTURE.md) for details on technical choices. |
64 | 63 |
|
65 | | -## Construire le wiki en local |
| 64 | +## Building the Wiki Locally |
66 | 65 |
|
67 | | -Prérequis : **Python 3**. |
| 66 | +Requirement: **Python 3**. |
68 | 67 |
|
69 | 68 | ```bash |
70 | 69 | python -m venv .venv |
71 | | -# Windows : |
| 70 | +# Windows: |
72 | 71 | .venv\Scripts\activate |
73 | | -# Linux / macOS : |
| 72 | +# Linux / macOS: |
74 | 73 | # source .venv/bin/activate |
75 | 74 |
|
76 | 75 | pip install -r docs/requirements.txt |
77 | 76 | sphinx-build -b html docs/source docs/_build/html |
78 | 77 |
|
79 | | -# Prévisualiser : |
| 78 | +# Preview: |
80 | 79 | python -m http.server 8000 --directory docs/_build/html |
81 | 80 | # → http://localhost:8000 |
82 | 81 | ``` |
83 | 82 |
|
84 | | -## Déploiement |
| 83 | +## Deployment |
85 | 84 |
|
86 | | -Le déploiement est **automatique** : tout push sur `main` déclenche le workflow |
87 | | -GitHub Actions ([.github/workflows/deploy.yml](.github/workflows/deploy.yml)) qui |
88 | | -**build le site Sphinx** puis le publie sur GitHub Pages. |
| 85 | +Deployment is **automatic**: every push to `main` triggers the GitHub Actions workflow |
| 86 | +([.github/workflows/deploy.yml](.github/workflows/deploy.yml)), which **builds the |
| 87 | +Sphinx site** and then publishes it to GitHub Pages. |
89 | 88 |
|
90 | | -> ℹ️ Prérequis (une seule fois) : dans **Settings → Pages** du dépôt, choisir la |
91 | | -> source **« GitHub Actions »**. |
| 89 | +> ℹ️ Prerequisite (one-time setup): in the repository's **Settings → Pages**, select |
| 90 | +> **"GitHub Actions"** as the source. |
92 | 91 |
|
93 | | -## Méthode de travail et versionnage |
| 92 | +## Workflow and Versioning |
94 | 93 |
|
95 | | -- Le projet avance par **sprints** (1 sprint = 1 fonctionnalité), suivis dans |
| 94 | +- The project progresses in **sprints** (1 sprint = 1 feature), tracked in |
96 | 95 | [SPRINTS.md](SPRINTS.md). |
97 | | -- On **commite directement sur `main`** ; un **tag Git** (`vX.Y.Z`) est posé à chaque |
98 | | - version publiée. |
99 | | -- Versionnage sémantique `MAJEUR.MINEUR.CORRECTIF`. La version courante est définie |
100 | | - dans [docs/source/conf.py](docs/source/conf.py) (`version` / `release`) et historisée |
101 | | - dans [CHANGELOG.md](CHANGELOG.md). |
102 | | -- Les fichiers de documentation racine sont mis à jour **à chaque sprint**. |
| 96 | +- We **commit directly to `main`**; a **Git tag** (`vX.Y.Z`) is set for each published |
| 97 | + version. |
| 98 | +- Semantic versioning `MAJOR.MINOR.PATCH`. The current version is defined in |
| 99 | + [docs/source/conf.py](docs/source/conf.py) (`version` / `release`) and tracked in |
| 100 | + [CHANGELOG.md](CHANGELOG.md). |
| 101 | +- Root-level documentation files are updated **at every sprint**. |
0 commit comments