Contribuer¶
Tout d'abord, merci de votre intérêt pour contribuer !
Signaler des problèmes, demander des fonctionnalités¶
Si le bug concerne une faille de sécurité, veuillez vous référer à la politique de sécurité.
Assurez-vous qu'un ticket n'a pas déjà été ouvert en effectuant une recherche dans le tickets dans GitHub.
Si ce n'est pas le cas, ouvrez un nouveau ticket avec un titre descriptif et une description.
Contribuer au code¶
Dépôt du projet¶
Le dépôt GitHub contient :
le code source (à noter que le dépôt contient également les fichiers compilés client),
traductions,
tests,
documentation (source, traductions et fichiers compilés).
Les workflows d'intégration continue s'exécutent sur la plateforme Github Actions (lors de push et pull requests).
Pour le moment, les versions publiées ne suivent pas la gestion sémantique de version. Toute version peut contenir des changements non rétro-compatibles.
Traductions¶
Les fichiers de traduction de l'application se trouvent :
côté API (pour les courriels) :
fittrackee/emails/translations/
(implémenté avec Babel)côté client :
fittrackee/emails/translations/
(implémenté via Vue I18n)
Les traductions peuvent être mises à jour via Weblate.
Pour toute demande de nouvelle langue, veuillez ouvrir un ticket afin d'initialiser les fichiers de traduction et de rendre la langue disponible sur Weblate.
La traduction de la documentation se trouvent dans le répertoire suivant : docsrc/locales
. Pour l'instant, seuls l'anglais et le français sont disponibles et les fichiers de traduction ne sont pas encore disponibles sur Weblate.
Comment installer FitTrackee¶
voir les instructions d'installation
Pull Requests¶
Remarque : Avant de commencer, veuillez ouvrir un ticket pour discuter de la mise en œuvre si la fonctionnalité nécessite des modifications majeures ou implique l'ajout d'un nouveau sport ou d'une nouvelle langue. Pour les demandes de nouveaux sports, FitTrackee étant basée sur des fichiers (.gpx ou autre format supporté) pour des activités de plein air, seuls les sports associés à un fichier peuvent être ajoutés pour le moment.
Veuillez effectuer vos modifications à partir de la branche de développement (dev
)
Dupliquer le dépôt (voir les instructions sur GitHub)
Implémentez votre fonctionnalité
Si vos modifications nécessitent une migration de base de données :
Vous pouvez en générer un après avoir mis à jour les modèles avec la commande suivante :
$ make migrate-db
Pour la migration des données, un fichier de migration vide peut être créé avec la commande suivante :
$ make revision MIGRATION_MESSAGE="<MIGRATION_MESSAGE>"
Renommez la migration en la préfixant avec le numéro suivant.
Pour appliquer les modifications de la base de données :
$ make upgrade-db
Vérifiez la migration vers une version inférieure.
Exécutez des vérifications (lint, vérification de type et tests unitaires).
$ make check-all
Il existe des tests de bout en bout. Pour les exécuter (une application doit être en cours d'exécution) :
$ make test-e2e
Si nécessaire, mettez à jour les traductions (ajoutez au moins les chaînes en anglais).
Côté client, mettre à jour les fichiers dans le répertoire
fittrackee_client/src/locales
.Côté API (courriels), pour extraire les nouvelles chaînes dans
messages.pot
:$ make babel-extract
Pour ajouter les nouvelles chaînes dans les fichiers de traductions (
fittrackee/emails/translations/<LANG>/LC_MESSAGES/messages.po
) :$ make babel-update
Après avoir mis à jour les chaînes dans
messages.po
, compilez les traductions :$ make babel-compile
Si nécessaire, ajoutez ou mettez à jour des tests.
Si nécessaire, mettez à jour la documentation (inutile de compiler la documentation, elle sera effectuée lors de la publication de la version).
Si le code mis à jour contient des modifications côté client, vous pouvez générer les ressources JavaScript pour vérifier FitTrackee sans démarrer le serveur de développement client :
$ make build-client
Il n'est pas nécessaire d'ajouter ces fichiers, les fichiers seront compilés avant la fusion de la pull request ou lors de la publication de la version.
Créez votre pull request avec comme branche cible la branche
dev
.Assurez-vous que la description de la pull request décrit clairement le problème et sa solution. Indiquez le numéro du ticket concerné, le cas échéant.
Vérifiez que tous les tests se sont exécutés avec succès.
Si nécessaire, mettez à jour votre branche.
Merci.