Setup de l'environnement de dev
Ce guide vous accompagne pour installer et configurer tous les outils nécessaires au développement sur le projet de la Coupe de France de Robotique. Il est conçu pour vous aider à démarrer rapidement, à comprendre le rôle de chaque outil et à adopter les bonnes pratiques pour collaborer efficacement.
Chaque section ci-dessous détaille l'installation, l'utilisation et les liens vers la documentation officielle.
VsCode
Visual Studio Code est l'éditeur recommandé pour ce projet. Il permet une très bonne intégration de tous les outils utilisés.
Installer git
Git est l'outil fondamental pour la gestion de version et la collaboration sur le code. Il permet de suivre l'historique, de travailler en équipe et de contribuer facilement au projet.
Vérifiez d'abord si git est installé :
git --version
Si ce n'est pas le cas, installez-le selon votre OS :
- Windows
- Linux
- macOS
winget install -e --id Git.Git
sudo apt-get install git
brew install git
Pour aller plus loin : Documentation officielle
Cloner le repo du projet
Une fois git installé, vous pouvez récupérer le code source du projet en clonant le dépôt officiel. Cette étape est indispensable pour commencer à travailler localement et profiter de toutes les fonctionnalités du projet.
Ouvrez un terminal à l'endroit où vous souhaitez stocker le projet (PAS DANS UN DOSSIER ONEDRIVE), puis exécutez la commande suivante :
git clone https://github.com/DaVinciBot/CoupeDeRobotique.git
cd CoupeDeRobotique
code .
uv
uv est un gestionnaire d'environnements virtuels et de packages Python. Il simplifie la gestion des dépendances et garantit que chaque projet dispose de son propre environnement isolé, évitant les conflits et facilitant la reproductibilité.
Installation
Suivez les instructions adaptées à votre système pour installer uv :
- Windows
- Linux
- macOS
powershell -ExecutionPolicy ByPass -c "irm
https://astral.sh/uv/install.ps1 | iex"
curl -LsSf https://astral.sh/uv/install.sh | sh
curl -LsSf https://astral.sh/uv/install.sh | sh
Créer le venv
Créez un environnement virtuel pour isoler les dépendances du projet :
uv venv
Activer le venv
Activez l'environnement virtuel pour installer et utiliser les paquets :
- Windows
- Linux
- macOS
source .venv/Scripts/activate
source .venv/bin/activate
source .venv/bin/activate
Dans VSCode, sélectionnez l'interpréteur Python correspondant : Ctrl + Shift + P
→ Python: Select Interpreter → CoupeDeRobotique
Télécharger les dépendances
Installez toutes les dépendances du projet en une commande :
uv sync
Ajouter/supprimer des dépendances
Avec uv, on n'utilise plus pip pour gérer les dépendances. Voici comment ajouter ou supprimer des packages :
uv add <package> # pour ajouter une dépendance
uv remove <package> # pour supprimer une dépendance
Consultez la documentation uv pour plus d'options.
Lancer le code
Vous pouvez maintenant exécuter le code principal du robot :
uv run robot1/rasp/main.py
Si vous n'avez pas le robot, lancez le simulateur en créant un fichier .env à la racine :
ACTUATORS_DUMMY=True
LIDAR_DUMMY=True
ROLLING_BASIS_DUMMY=True
choco
Chocolatey est un gestionnaire de paquets pour Windows, utile pour installer rapidement des outils comme make ou llvm. Il n'est pas nécessaire sur Linux ou macOS.
- Windows
- Linux
- macOS
Nécessaire uniquement sur Windows :
powershell -c "irm
https://community.chocolatey.org/install.ps1|iex"
Non requis.
Non requis.
clang-format
clang-format est un outil de formatage automatique pour le code C/C++. Il permet d'assurer une cohérence de style dans l'équipe et d'automatiser le formatage à la sauvegarde dans VSCode. Suivez les instructions selon votre OS pour l'installer.
Installation
- Windows
- Linux
- macOS
choco install llvm
sudo apt-get install clang-format
brew install clang-format
Installer l'extension xaver.clang-format pour VSCode afin de bénéficier du formatage automatique.
Utilisation
Activez le formatage automatique à la sauvegarde dans VSCode pour ne plus vous soucier du style :
Ctrl + Shift + P → Preferences: Open Settings (JSON) : ajouter
{
"editor.formatOnSave": true,
"clang-format.executable": "C:\\Program Files\\LLVM\\bin\\clang-format.exe"
}
Pour aller plus loin : Documentation clang-format
Make
Make est un outil d'automatisation qui permet d'exécuter facilement des tâches courantes du projet (formatage, lint, documentation, etc.). Il est très utilisé dans les environnements de développement pour simplifier la vie des développeurs.
- Windows
- Linux
- macOS
Ouvrir un terminal en administrateur :
choco install make
sudo apt-get install make
brew install make
Utilisation
Les commandes make disponibles dans ce projet :
make format # pour formater le code
make lint # pour vérifier le style de code
make docs # pour générer la documentation
make all # pour tout faire
N'hésitez pas à consulter le fichier makefile pour découvrir toutes les cibles disponibles et personnaliser vos automatisations.
Outils de formatage et lint
Pour garantir la qualité et la cohérence du code Python, plusieurs outils de formatage et d'analyse statique sont utilisés dans ce projet. Ils permettent de détecter les erreurs, d'appliquer un style uniforme et de faciliter la relecture du code.
- Ruff
- isort
- Pylint
- Pylance / Pyright
Ruff : Linter et formatteur ultra-rapide pour Python. Il combine les fonctionnalités de plusieurs outils en un seul.
ruff check . --fix ruff format
Ruff est intégré dans le workflow du projet pour accélérer le lint et le formatage.
isort : Trie et formate les imports Python automatiquement.
isort .
Utilisez-le pour garder vos imports organisés et conformes aux standards.
Pylint : Analyse statique et vérification du style Python.
pylint .
Pylint fournit des rapports détaillés sur la qualité et la conformité du code.
Pour aller plus loin, consultez la documentation de chaque outil et explorez les options de configuration pour adapter le workflow à vos besoins.
Conventions de nommage des branches et des commits
Pour faciliter la collaboration et garder un historique clair, merci de respecter les conventions suivantes :
Branches
- Utilisez des noms explicites et courts, séparés par des tirets.
- Privilégiez le format :
feature/nom-fonctionnalitefix/description-bugdocs/ajout-ou-modif-docrefactor/nom-refactor
- Exemple :
feature/add-basic-trajectory-plannerrefactor/change-coordinate-system
Commits
Utilisez le format suivant pour vos messages de commit:
action(scope): description concise
Où:
- action est l'une des suivantes : fix, feat, refactor, perf, docs, style, tests
- scope désigne le segment concerné (ex: navigation, gpio, lidar, etc.)
- la description offre des détails succincts et précis
Exemples :
- feat(trajectory_planner): add basic trajectory planner
- fix(cpp_rolling_basis): correct sensor reading bug
- refactor(navigation): change coordinate system to right-handed
Pour aller plus loin, consultez les guides :