Skip to content

Latest commit

 

History

History
143 lines (97 loc) · 4.39 KB

CONTRIBUTING.md

File metadata and controls

143 lines (97 loc) · 4.39 KB

🤝 Contribuer

Contribuer à ce projet doit être aussi simple et transparent que possible, que ce soit pour :

  • Signaler un bug
  • Discuter du code existant
  • Proposer des corrections
  • Suggérer de nouvelles fonctionnalités

🚀 GitHub est utilisé pour tout

GitHub est la plateforme principale pour héberger le code, suivre les problèmes et demandes de fonctionnalités, et accepter les pull requests.

Les pull requests sont le meilleur moyen de proposer des modifications du code :

  1. Créez un fork du dépôt et créez votre branche à partir de master.
  2. Si vous avez modifié quelque chose, mettez à jour la documentation.
  3. Assurez-vous que votre code suit les règles de formatage (utilisation de black).
  4. Testez votre contribution.
  5. Soumettez une pull request !

📜 Activer la journalisation de débogage

Si vous devez signaler un problème, il est recommandé d'activer la journalisation de débogage en ajoutant ceci dans votre fichier configuration.yaml :

logger:
  default: info
  logs:
    custom_components.hilo: debug
    pyhilo: debug

🛠️ Préparer un environnement de développement via VSCode DevContainer

Pour faciliter le développement, un environnement est disponible via DevContainer de VSCode. Assurez-vous d'avoir VSCode et Docker installés sur votre ordinateur.

  1. Ouvrez le dossier du projet dans VSCode.
  2. Installez l'extension Remote - Containers.
  3. Ouvrez la palette de commandes (Ctrl+Shift+P ou Cmd+Shift+P) et recherchez :
    Remote-Containers: Reopen in Container
    
  4. Attendez que l'environnement soit prêt.
  5. Ouvrez un terminal dans VSCode et exécutez :
    scripts/develop
    pour installer les dépendances et lancer Home Assistant.
  6. VSCode devrait vous proposer d'ouvrir un navigateur pour accéder à Home Assistant. Sinon, ouvrez manuellement :
    http://localhost:8123
    
  7. Effectuez la configuration initiale de Home Assistant.
  8. Ajoutez l'intégration Hilo via l'interface utilisateur.
  9. Modifiez les fichiers dans le dossier custom_components/hilo et observez les changements en temps réel dans Home Assistant.

Dans le terminal où vous avez lancé scripts/develop, les journaux de Home Assistant et de l'intégration Hilo devraient défiler.


✅ Avant de soumettre une Pull Request

Il est essentiel de tester vos modifications sur une installation locale. Vous pouvez modifier les fichiers .py de l'intégration directement dans votre dossier custom_components/hilo.

N'oubliez pas votre copie de sauvegarde !

Si vous devez modifier python-hilo pour vos tests, installez votre fork avec la commande suivante :

pip install -e git+https://github.com/VOTRE_FORK_ICI/python-hilo.git#egg=python-hilo

Redémarrez ensuite Home Assistant pour que l'installation prenne effet. Pour revenir en arrière :

pip install python-hilo

Puis redémarrez Home Assistant.


🚀 Soumettre une Pull Request

  1. Créez un fork du dépôt dans votre espace utilisateur.

  2. Clonez-le sur votre ordinateur.

  3. Pour maintenir une certaine standardisation du code, nous utilisons des linters et des validateurs exécutés via des hooks pre-commit :

    pre-commit install --install-hooks
  4. Apportez vos modifications au code.

  5. Une fois terminé, ajoutez les fichiers modifiés :

    git add path/to/file
  6. Créez un commit :

    git commit -m "J'ai changé ceci parce que ..."
  7. Poussez les changements vers votre dépôt distant :

    git push
  8. Sur le dépôt d'origine, GitHub devrait vous proposer de créer une Pull Request (PR). Suivez les instructions.


🛠️ Utiliser un style de code cohérent

Nous utilisons black pour garantir un formatage uniforme du code. Vous pouvez également utiliser les paramètres pre-commit intégrés dans ce dépôt.

Pour activer pre-commit :

pre-commit install

Maintenant, les tests pre-commit seront exécutés à chaque commit.

Pour les exécuter manuellement sur tous les fichiers :

pre-commit run --all-files

📜 Licence

En contribuant, vous acceptez que vos contributions soient sous licence MIT, comme le reste du projet. Pour plus d'informations, consultez la licence MIT.