Disponible en : English · Español
Merci de l'intérêt que tu portes à Dosoft ! Ce guide explique comment contribuer efficacement au projet, que ce soit pour signaler un bug, proposer une amélioration ou soumettre du code.
- Avant de commencer
- Signaler un bug
- Proposer une fonctionnalité
- Contribuer du code
- Convention de commits
- Style de code
- Build et test local
- Vérifie qu'une issue ou pull request similaire n'existe pas déjà avant d'en ouvrir une nouvelle.
- Pour les changements importants, ouvre d'abord une issue pour discuter de l'approche. Ça évite d'investir du temps sur quelque chose qui ne serait pas mergé.
- Le projet cible Windows uniquement et les joueurs de Dofus (Unity et Rétro). Les contributions hors de ce périmètre ne seront pas acceptées.
- La langue officielle du projet est l'anglais. Le français est également accepté pour les issues, PRs et commentaires.
Ouvre une issue avec le template Bug report et inclus :
- Version de Dosoft (visible dans l'interface ou dans
version.json) - Version du jeu : Unity ou Rétro
- Comportement observé : ce qui se passe réellement
- Comportement attendu : ce qui devrait se passer
- Étapes pour reproduire : le plus précis possible
- Logs ou captures d'écran si applicable
Ouvre une issue avec le template Feature request et explique :
- Le problème que ça résout ou le besoin que ça couvre
- La solution envisagée
- Les alternatives que tu as considérées
git clone https://github.com/<ton-pseudo>/dosoft
cd dosoftpip install -r requirements.txtNomme ta branche de façon explicite, en lien avec ce que tu fais :
git checkout -b fix/detection-fenetres-retro
git checkout -b feat/raccourci-equipe-customPréfixes recommandés : feat/, fix/, refactor/, docs/, chore/
- Respecte la structure existante du projet (voir Style de code)
- Teste manuellement le comportement modifié
- Un seul sujet par pull request
Respecte la convention de commits ci-dessous.
git push origin feat/raccourci-equipe-custom- Titre clair et concis
- Description expliquant pourquoi ce changement et comment il a été testé
- Relie l'issue correspondante avec
Closes #42si applicable
Le projet suit une convention inspirée de Conventional Commits.
<type>(<scope>): <description courte>
[corps optionnel]
[footer optionnel]| Type | Usage |
|---|---|
feat |
Nouvelle fonctionnalité |
fix |
Correction de bug |
refactor |
Refactorisation sans changement de comportement |
style |
Formatage, indentation (pas de logique modifiée) |
docs |
Modification de documentation uniquement |
chore |
Tâches de maintenance (build, dépendances, config…) |
perf |
Amélioration de performance |
revert |
Annulation d'un commit précédent |
Indique le module concerné : gui, logic, hotkeys, config, radial, build, installer
- La description courte est en anglais ou français, à l'impératif, sans majuscule, sans point final
- Maximum 72 caractères pour la première ligne
- Le corps est facultatif mais recommandé pour les changements non triviaux
- Un commit = une unité logique de changement
feat(hotkeys): add MB4/MB5 support per team
fix(logic): corriger la détection des fenêtres en mode Rétro
refactor(gui): déplacer les paramètres d'affichage dans un panneau dédié
docs: mettre à jour le guide de build dans le README
chore(build): bump version to 1.2.0
fix: prevent crash on startup when settings.json is corrupted- Python 3, compatible avec les versions supportées par les dépendances du projet
- Indentation : 4 espaces (pas de tabulations)
- Nommage :
snake_casepour les variables et fonctions,PascalCasepour les classes - Commentaires en anglais ou français
- Pas de librairies externes supplémentaires sans discussion préalable en issue
- Évite les dépendances inutiles : le projet doit rester léger et installable simplement
Lance l'application directement avec Python pour tester :
python main.pyPour créer un build complet (.exe + installateur) :
build.cmdRequiert PyInstaller et Inno Setup 6+ installés sur ta machine.
Pour toute question, ouvre une issue ou consulte le site dosoft.fr.